1.设置好Page类
public class Page<T>{
private int pageno;
private int pageStartIndex;
private int pageSize;
private long totalRows;
private long totalPages;
private List<T> datas;
public Page(){
pageno = 1;
pageSize = 4; //根据需要设置
}
public Page(int pageno,int pageSize){
if(pageno < 0){
pageno = 1;}
if(pageSize < 0){
pageSize = 4;}
this.pageno = pageno;
this.pageSize = pageSize;
}
//getter && setter
public int getStartIndex(){
return (pageno-1)*pageSize;}
}
2.dao层
public List<User> selectCurrentPageUser(Map<String,Object> map);
3.mapper层
<select id="selectCurrentPageUser" resultType="xxx.xxx.xxx.User">
select * from user limit #{pageStartIndex},#{pageSize}
</select>
4.service层
public Page<User> findCurrenPage(int pageno){
Page<User> page = new Page<>(pageno,PAGE_SIZE);
int totalRows = dao.selectTotalRows();
page.setTotalRows(totalRows);
int pageStartIndex = page.getPageStartIndex();
int pageSize = page.getSize();
Map<String,Object> map = new HashMap<>();
map.put("pageStartIndex",pageStartIndex);
map.put("pageSize",pageSize);
List<User> datas = dao.selectCurrentPageUser(map);
page.setDatas(datas);
return page;
}
5.controller层
<select id="selectCurrentPageUser" resultType="xxx.xxx.xxx.User">
select * from user limit #{pageStartIndex},#{pageSize}
</select>