微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

aSQLite+ 数据库工具包

程序名称:aSQLite+

授权协议: Apache

操作系统: Android

开发语言: Java

aSQLite+ 介绍

asqlite+ 是一个小巧的数据库工具包,正如其名字的意思,定位于为Android
sqlite数据库添加一些实用的功能。提供相当多便利的方法帮助开发人员拼接和执行增删改查的sql语句。

Android的核心类库也提供了一些生成sql语句,执行sql操作的工具类,但基本上都不太实用,体现在方法的签名众多,调用后仍然到开发者做游标关闭数据库关闭等非业务逻辑的操作。

假设你想生成以下的一条sql语句:

SELECT product_id, product_name FROM Products WHERE price >= 10 ORDER BY price DESC LIMIT 10

如果使用Android sqlite类库来实现,大致写法如下:

String sql = android.database.sqlite.sqliteQueryBuilder.buildQueryString(false,
        "Products", new String[]{"product_id", "product_name"}, "price >= 10",
        null, null, "price DESC", "10");

当然,还有ORM或直接用”+”操作符连接各个子句的字符串拼接方法。个人认为,在中小型的Android应用中使用ORM纯属杀鸡用牛刀,里面的反射操作也会对主线程产生性能影响。至于传统的用”+”拼接字符串,更是增大开发与维护的成本。那,以上的sql如果使用asqlite+将会是如何做?

Statement statement = QueryStatement.produce("product_id", "product_name")
        .from("Products").where("price").egt(10).orderBy("price").desc().limit(10);
String sql = statement.toString();

asqlite+通过将每个sql关键字或子句映射为方法,基本覆盖了全部的语法,实现sql的简易拼接,使代码更清晰易懂,便于维护,大大简化了sql的构造。开发者可以通过github上的众多示例查看其完善的功能

另外,asqlite+实现了一个名为DBOverseer.java的类,用于执行生成sql语句,使得开发者可以用两三行以内的代码实现提取整数、字符串、列表、分类列表、反射实例,执行插入、更新,批量操作。

项目内提供详细的代码注释,外加覆盖所有功能的测试用例,还有Maven及jar包等不同的集成方式可供选择。欢迎开发者试用并提供测试意见。

aSQLite+ 官网

https://github.com/vince-styling/aSQLitePlus-android

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐