標籤:
db.delete(student);
android資料庫其實使用的不多,dhroid架構中的網路緩衝使用了資料庫我就寫了也寫了一個資料庫操作工具
dhroid 資料庫基本還是單表操作多,為了簡單我只做了單表,那些級聯,懶載入,什麼的分兩個操作區解決吧
初始化在application中基於ioc的配置
//資料庫初始化DhDB db=IocContainer.getShare().get(DhDB.class);db.init("dhdbname", Const.DATABASE_VERSION);
如果你的資料庫在sd卡上,你可以
db.initInSD("檔案夾位置", "dhdbname", Const.DATABASE_VERSION);bean定義@Entity(table="student")public class Student {@Column(pk=true)//主鍵不能為基本類型public Long id;public String name;@Column(name="num_no")public String num;@Column(name="create_time")public Date createTime;public int age;public int sex;public boolean dangyuang;@NoColumnpublic String temp;//setget...}
@Entity(table="student") 表示這個對象進行持久化,可以不添加,預設都可以,預設對象名和表名相同
預設的屬性都會被持久化的預設列名和屬性名稱相同
@Column(pk=true)定義主鍵
@Column(name="num_no")定義列名
@NoColumn 表示不參加持久化
屬性支援基礎資料型別 (Elementary Data Type)
擷取Dhdb對象下面我是用的ioc 你也可以製作單例
@InjectDhDB db; 儲存和更新if(student == null){student=new Student();isnew=true;}student.setName(nameV.getText().toString());student.setNum(numV.getText().toString());student.setSex(Integer.parseInt(sexV.getText().toString()));student.setAge(Integer.parseInt(ageV.getText().toString()));student.setDangyuang(dangyuanV.getText().toString().equals("1")?true:false);student.setCreateTime(new Date());if(isnew){db.save(student);}else{db.update(student);}
刪除
查詢(基本的sql你還是需要瞭解的啊)
List<Student> list=db.queryList(Student.class, ":name like ? or :num like ?","%name%","%num%");
:num 已:開頭的預留位置表示對象屬性(這裡的num屬性對應資料庫裡的num_no)
這樣就可以使用對象屬性進行查詢,而不用瞭解資料庫
? 預留位置指資料用後面的資料替換 方法支援多個參數
瞭解spring jdbctemplete 的應該很喜歡這樣的寫法
增刪改查都都有了是不是很好用啊
dhroid - Dhdb orm簡化sqlite資料庫操作