在JDiy框架中,我们通常利用Args参数对象来创建查询。包括从服务器返回单条记录,或返回多条记录,甚至返回带分页信息的结果集。使用Args,简化了原生SQL语句,使查询更加方便。
Args位于org.jdiy.core包中,拥有多个构造方法,您可以使用下面这些构造方法来构造一个Args对象:
Args(String table) 构造一个新的Args对象的同时指定要操作的表. 参数table用于指定表名. |
Args(String table, String filter) 构造一个新的Args对象的同时指定要操作的表,并且指定查询条件或分组/排序子句(group by / order by). 参数table用于指定表名;参数filter用于指定查询条件(和/或)排序与分组依据。 |
Args(table, String filter, int pageSize, int absPage) 根据给定的参数构造Args对象. 参数table用于指定表名;参数filter用于指定查询条件(和/或)排序与分组依据;参数pageSize用于指定每页显示的记录数;absPage用于指定当前页码。 |
Args(String table, String filter, int pageSize, int absPage, String cols) 根据给定的参数构造Args对象. 参数table用于指定表名;参数filter用于指定查询条件(和/或)排序与分组依据;参数pageSize用于指定每页显示的记录数;absPage用于指定当前页码;参数cols用于指定要查询出来的字段列表。 |
Args(String table, String filter, String cols) 构造一个新的Args对象的同时指定要操作的表名,查询条件及要获取的数据表列. 参数table用于指定表名;参数filter用于指定查询条件(和/或)排序与分组依据;参数cols用于指定要查询出来的字段列表。 |
示例1:
查询user_info表中的全部记录:
Args args = new Args("user_info");
Ls ls = dao.ls(args);
对应的原生SQL语句为:SELECT * FROM user_info
示例2:
查询user_info表中,id=1的那一条记录:
Args args = new Args("user_info", "id=1");
Rs rs = dao.rs(args);
对应的原生SQL语句为: SELECT * FROM user_info WHERE id=1
示例3:
查询user_info表中,id=1的那条记录,且只获取name, age这两个字段:
Args args = new Args("user_info", "id=1", "name, age");
Rs rs = dao.rs(args);
对应的原生SQL语句为: SELECT name, age FROM user_info WHERE id=1
示例4:
查询user_info表中的所有记录,并按addTime降序排列:
Args args = new Args("user_info", "order by addTime desc");
Rs rs = dao.rs(args);
Rs rs = dao.rs(args);
对应的原生SQL语句为: SELECT name, age FROM user_info order by addTime desc
示例5:
查询user_info表中所有记录,并设置每页显示10条,当前显示第3页的数据:
Args args = new Args("user_info", null, 10, 3);
Ls ls = dao.ls(args);
JDiy框架将根据数据库类型的不同,自动生成相应的分页SQL语句执行,例如MySQL将执行:
SELECT * FROM user_info limit 20,10
有关Args更多的用法,请大家参考JDiy-API开发文档(Args位于net.jdiy.core包中)。