【Android】GreenDao增删改查(三)

2020-06-08  本文已影响0人  代码充电宝

(1)插入

//这是最简单的插入语句,新增一行数据,返回值为行号
 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 );
        }
        // 先查询后更新
        Student load = studentDao.load("0");
        load.setHobby("足球");
        studentDao.update(load);

(4)保存

public void save(T entity)
public void saveInTx(T... entities)
public void saveInTx(Iterable<T> entities)
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)
上一篇下一篇

猜你喜欢

热点阅读