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);
}

上一篇下一篇

猜你喜欢

热点阅读