Sql sql = Sqls.queryEntity("SELECT * FROM t_pet");
sql.setPager(dao.createPager(2,20));
sql.setEntity(dao.getEntity(Pet.class));
dao.execute(sql);
return sql.getList(Pet.class);
自定义SQL 分页 如何获取记录总数
sql 无法获取 Pager
酱紫 不知道 行不行
Pager pager =dao.createPager(pageNumber, pageSize);
sql.setPager(pager);
pager.getRecordCount()
/**
* 分页查询(sql)
*
* @param pageNumber
* @param pageSize
* @param sql
* @return
*/
public Pagination listPage(Integer pageNumber, int pageSize, Sql sql) {
pageNumber = getPageNumber(pageNumber);
pageSize = getPageSize(pageSize);
Pager pager = this.dao().createPager(pageNumber, pageSize);
pager.setRecordCount((int) Daos.queryCount(this.dao(), sql));// 记录数需手动设置
sql.setPager(pager);
sql.setCallback(Sqls.callback.records());
this.dao().execute(sql);
return new Pagination(pageNumber, pageSize, pager.getRecordCount(), sql.getList(Record.class));
}
/**
* @param pageNumber
* @param sql 查询语句
* @param countSql 统计语句
* @return
*/
public Pagination listPage(Integer pageNumber, Sql sql, Sql countSql) {
return listPage(pageNumber, DEFAULT_PAGE_NUMBER, sql, countSql);
}
/**
* @param pageNumber
* @param pageSize
* @param sql 查询语句
* @param countSql 统计语句
* @return
*/
public Pagination listPage(Integer pageNumber, int pageSize, Sql sql, Sql countSql) {
pageNumber = getPageNumber(pageNumber);
pageSize = getPageSize(pageSize);
Pager pager = this.dao().createPager(pageNumber, pageSize);
countSql.setCallback(Sqls.callback.integer());
this.dao().execute(countSql);
pager.setRecordCount(countSql.getInt());// 记录数需手动设置
sql.setPager(pager);
sql.setCallback(Sqls.callback.records());
this.dao().execute(sql);
return new Pagination(pageNumber, pageSize, pager.getRecordCount(), sql.getList(Record.class));
}