nutz 自定义查询 分页 取值
开始一直纠结,如果都有构建一个Bean对象的话,岂不是很麻烦。就发现可以直接用 list<map> 讲查询结构以键值对的形式取出来。这样就方便了。使用方法如下。
1.先获取查询结构总数。
/* getPersonSum.data */ select count(user_id) sums from t_user_info
Sql sql = dao.sqls().create("getPersonSum.data");
sql.setCallback(new SqlCallback() {
public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
int sums = 0;
while (rs.next()){
sums = rs.getInt("sums");
}
return sums;
}
});
dao.execute(sql);
int sum = sql.getInt();
2.获取到总数以后,再设置Pager对象。以下参数都得设置。最后取出来就可以继续做逻辑了。
Sql sql = dao.sqls().create("testPerson.data");
Pager pager = dao.createPager(1, 10); // 起始页,每页数目 pager.setRecordCount(sum);// 设置记录总数 sql.setPager(pager); sql.setCallback(Sqls.callback.records()); // 设置回调 dao.execute(sql); System.out.println(Json.toJson(sql.getList(Map.class)));

浙公网安备 33010602011771号