Android之Room库的使用
前言
最近疫情待在家里,想着没事就做一个APP练练手,需要用到数据库的本地化方案,便尝试深入了解以下 Google官方的ORM库 Room
,配置和使用还算比较简单,没用过的可以查看 官方文档,上手还算比较容易。可以参考Google官方在GitHub上的示例库 [Android Room with a View] ,一步一步非常清晰的展现了框架的架构与流程。
正文
问题归纳
新入手的库当然会遇到坑的啦!
模糊查询的Sql语句拼写问题
本来一切增删改查都进行的很顺利,然后 APP 中有一个模糊搜索的功能。
例如查找 person 表中 name 或者 name_pinyin 包含某字符串的所有用户,一般sql语句是这样
1 | Select * From person Where Name Like %name% OR Name_Pinyin Like %name_pinyin% |
在Android端里面一般用的数据库都是注解 @query ,后面拼上需要查询的语句,当然每个数据库框架要求的格式可能不一样,但是最终编译成的最终语句肯定是上面那种格式的。
终于,皇天不负有心人,最终经一个群里大佬提醒以及在Stack Overflow上面搜了一下,找到了最终答案,应该是这样的
1 |
原来是用双竖杠去拼接,而不是加号,在sql语句拼接中:
在SQL中的SELECT语句中,可使用一个特殊的操作符来拼接两个列。
根据你所使用的DBMS,此操作符可用加号(+)或两个竖杠(||)表示。
在MySQL和MariaDB中,必须使用特殊的函数。
说明:是+还是||?
Access和SQL Server使用+号。DB2、Oracle、PostgreSQL、SQLite和Open Office Base使用||。详细请参阅具体的DBMS文档。
Stack Overflow
上的评论:
to be continued…
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Tamsiree!
评论