Room-数据库操作基类
2020-08-19 本文已影响0人
XII01
基类
@Dao
public interface BaseDao<T> {
@Insert(onConflict = REPLACE)
void insertItem(T item);//插入单条数据
@Insert(onConflict = REPLACE)
void insertItems(List<T> items);//插入list数据
@Delete
void deleteItem(T item);//删除item
@Delete
void deleteItems(List<T> item);//删除item
@Update
void updateItem(T item);//更新item
}
没有实现基类
@Dao
public interface PersonDao {
//查询所有数据
@Query("Select * from person")
List<Person> getAll();
//删除全部数据
@Query("DELETE FROM person")
void deleteAll();
//一次插入单条数据 或 多条
// @Insert(onConflict = OnConflictStrategy.REPLACE),这个是干嘛的呢,下面有详细教程
@Insert
void insert(Person... persons);
//一次删除单条数据 或 多条
@Delete
void delete(Person... persons);
//一次更新单条数据 或 多条
@Update
void update(Person... persons);
//根据字段去查找数据
@Query("SELECT * FROM person WHERE uid= :uid")
Person getPersonByUid(int uid);
//一次查找多个数据
@Query("SELECT * FROM person WHERE uid IN (:userIds)")
List<Person> loadAllByIds(List<Integer> userIds);
//多个条件查找
@Query("SELECT * FROM person WHERE name = :name AND age = :age")
Person getPersonByNameage(String name, int age);
}