今天正好遇到这个问题,向wendal请教后写了出来,也分享给同样遇到此问题的人。
public QueryResult findPaginationBySqls(String sqls, int page, int size){
//定义分页
Pager pager = dao.createPager(page, size);
//回调查询
Sql sql = Sqls.create(sqls);
sql.setCallback(Sqls.callback.records());
sql.setEntity(dao.getEntity(Record.class));
sql.setPager(pager);
dao.execute(sql);
List<Record> list = sql.getList(Record.class);
//封装QueryResult对象
Long counts = Daos.queryCount(dao,sqls);
pager.setRecordCount(Integer.parseInt(counts.toString()));
return new QueryResult(list,pager);
}