美文网首页
Room-数据库操作基类

Room-数据库操作基类

作者: XII01 | 来源:发表于2020-08-19 11:12 被阅读0次

    基类

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

    相关文章

      网友评论

          本文标题:Room-数据库操作基类

          本文链接:https://www.haomeiwen.com/subject/tqerjktx.html