这是我参与 8 月更文挑战的第 13 天,活动详情查看: 8月更文挑战
背景
在项目中不可避免的使用数据库, 而三方框架又是五花八门, 在这中我就选择了google Jetpack组件中的Room
上篇文章 简单介绍了一下Room 增删改注解的使用, 这篇就简单Query注解基本使用
查询简单使用
通过@Query注解指定方法为执行指定的sql语句,可以通过@Query注解进行删除/更新/查找操作,示例如下:
@Query("SELECT * FROM Your TableName")
List<TestEntity> getData();
复制代码在Dao的实现类中调用对应的方法
public List<Object>  getData() {
    return mDatabase.testDao().getData();
}
复制代码带参数查询
在实际情况中, 大多情况都需要根据一个或多个参数进行查找, 那么在sql语句中添加参数就成了一个需求,示例如下:
@Query("SELECT * FROM Test  WHERE account =:account ")
List<Object> getData(String account);
复制代码在Dao的实现类中调用对应的方法
public List<Object>  getData(String account) {
    return mDatabase.testDao().getData(account);
}
复制代码删除数据
在实现开发中通过@Delete注解可能不能满足需求, 可以通过执行sql语句来完成删除
@Query("DELETE FROM Test  WHERE account =:account ")
void deleteData(String account);
复制代码更新数据
在实现开发中通过@Update注解可能不能满足需求, 可以通过执行sql语句来完成删除
@Query("UPDATE Test SET account = :account WHERE account = :oldaccount")
void deleteData(String account,String oldaccount);
复制代码常用sql语句
SELECT * FROM 表名 查找并返回指定表中的所有数据 
SELECT * FROM 表名 WHERE account =:account 查找表中account字段符合指定参数的所有数据 
SELECT 字段名 FROM 表名 查找并返回指定表中的所有数据的指定字段,多个字段通过,隔开 
DELETE FROM 表名  WHERE 字段名 =值 根据指定字段的值删除表中数据 
UPDATE 表名称 SET 列名称1 = 新值 WHERE 列名称2 = 某值 当列表名2等于谋值时,更新表中列名1数据
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
    



















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)


![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)
