![](https://img.haomeiwen.com/i13436492/650193a67fc652f5.jpg)
(1)插入
- 常用API
//这是最简单的插入语句,新增一行数据,返回值为行号
public long insert(T entity)
//传递一个数组,新增多行数据
public void insertInTx(T... entities)
//传递一个集合,新增多行数据
public void insertInTx(Iterable<T> entities)
//传递一个集合,新增多行数据,setPrimaryKey:是否设置主键
public void insertInTx(Iterable<T> entities, boolean setPrimaryKey)
//将给定的实体插入数据库,若此实体类存在,则覆盖
public long insertOrReplace(T entity)
//使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖
public void insertOrReplaceInTx(T... entities)
//使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖
public void insertOrReplaceInTx(Iterable<T> entities)
//使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖,并设置是否设定主键
public void insertOrReplaceInTx(Iterable<T> entities, boolean setPrimaryKey)
- 插入
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "demo.db", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
StudentDao studentDao = daoSession.getStudentDao();
for (int i = 0; i < 10; i++) {
Student student = new Student();
student.setMId(i+"");
student.setHobby("篮球");
student.setMAge(i);
student.setClassName("一年级");
long id = studentDao.insertOrReplace(student);
Log.e(TAG, "onCreate: "+id );
}
![](https://img.haomeiwen.com/i13436492/ef87a077edddd7c5.png)
- 查询后再更新,就不会导致其他字段清空
// 先查询后更新
Student load = studentDao.load("0");
load.setHobby("足球");
studentDao.update(load);
![](https://img.haomeiwen.com/i13436492/fca354f3ab962f21.png)
(4)保存
- save
public void save(T entity)
public void saveInTx(T... entities)
public void saveInTx(Iterable<T> entities)
- 传入一个实体entity,如果entity的主键在表中已存在,则更新已有数据,反之,则插入新数据
public void save(T entity) {
if (hasKey(entity)) {
update(entity);
} else {
insert(entity);
}
}
<a name="wxGaC"></a>
(5)删除
- 常用方法
//根据实体,删除一条数据(默认根据主键删除数据)
public void delete(T entity)
//删除所有数据
public void deleteAll()
//根据key删除数据
public void deleteByKey(K key)
//删除多条数据
public void deleteInTx(T... entities)
//根据主键数组,删除多条数据
public void deleteByKeyInTx(K... keys)
//根据集合,删除多条数据
public void deleteByKeyInTx(Iterable<K> keys)
网友评论