Room-數據庫操作基類

基類

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

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容