ORMLite 常用方法说明

来源:互联网 发布:windows手写笔记软件 编辑:程序博客网 时间:2024/05/01 21:26

ORMLite查询封装了许多函数,用于构建查询语句,以下总结了一些常用的方法:

1、public QueryBuilder<T,ID>orderBy(String columnName, boolean ascending)

加入“order by”语句,可以加入多个,先加入的先应用,注意传入的boolean值表示是否升序排列

2、public QueryBuilder<T,ID>selectColumns(Iterable<String> columns)

设置返回的列值,可以设置多次叠加

3、public QueryBuilder<T,ID>selectColumns(String... columns)

设置返回的列值,如果没有设置,默认返回所有。对于有“id”列的类,“id”列将自动返回。可多次调用叠加

4、public QueryBuilder<T,ID>selectRaw(String... columns)

查询中添加原始列或者聚合函数(MAX, COUNT...),仅适用于Dao.queryRaw(String, String...)。可多次调用叠加

5、public QueryBuilder<T,ID>setCountOf(boolean countOf)

设置是否只返回结果的数量

6、public long countOf()throwsSQLException

返回结果数量

7、public QueryBuilder<T,ID>having(String having)

添加SQL的“having”语句,字符串中应该不包含“having”

PS:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。比如:

SELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY CustomerHAVING SUM(OrderPrice)<2000

8、publicQueryBuilder<T,ID>join(QueryBuilder<?,?> joinedQueryBuilder) throwsSQLException

连接另一个query builder,类似于“inner join”。其中一个必须要有另一个的外键。以AND连接。

9、public QueryBuilder<T,ID>joinOr(QueryBuilder<?,?> joinedQueryBuilder) throwsSQLException

以OR连接

10、public TqueryForFirst() throwsSQLException

返回第一个结果

11、public Where<T,ID>in(String columnName,QueryBuilder<?,?> subQueryBuilder)

设置列值得取值返回,取值范围来自于subQueryBuilder,通过QueryBuilder.selectColumn(String...)只能设置一个列。通过这个方法,能实现多层调用。

12、public Where<T,ID>notIn(String columnName,   QueryBuilder<?,?> subQueryBuilder) throwsSQLException

加入“not in”语句

13、public Where<T,ID>exists(QueryBuilder<?,?> subQueryBuilder)

EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。NOT EXISTS则相反。

14、public void reset()

清空QueryBuilder,以便复用。




参考文档:

1、http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/stmt/QueryBuilder.html

2、http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/stmt/Where.html

3、http://www.w3school.com.cn/sql/sql_having.asp

0 0