项目中的通用分页组主要是分页类,下面的分页类是对网上常见的一个类的稍稍改造,针对的库是mysql,所以分页语句就比较简单,使用了limit关键字:
public class Page{
//一页显示的记录数
private int numPerPage;
//记录总数
private int totalRows;
//总页数
private int totalPages;
//当前页码
private int currentPage;
//起始行数
private int startIndex;
//结束行数
private int lastIndex;
//结果集存放List
private List<Map<String, Object>> resultList;
/**分页构造函数
* @param sql 包含筛选条件的sql,但不包含分页相关约束,如mysql的limit
* @param currentPage 当前页
* @param numPerPage 每页记录数
* @param jTemplate JdbcTemplate实例
*/
public Page(String sql,int currentPage,int numPerPage,JdbcTemplate jTemplate){
if(jTemplate == null){
throw new IllegalArgumentException("Page.jTemplate is null");
}else if(sql == null || sql.equals("")){
throw new IllegalArgumentException("Page.sql is empty");
}
//设置每页显示记录数