使用sql实现分页,下面直接上代码。
1.分页类Page
package com.hongruan.utils;
public class Page {
private int index=1;
private int size=10;
private int total;
private int start;
private int rows;
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
/* public int start(){
return (index-1)*size;
}
public int rows(){
return size;
}*/
public int getStart() {
return (index-1)*size;
}
public void setStart(int start) {
this.start = start;
}
public int getRows() {
return size;
}
public void setRows(int rows) {
this.rows = rows;
}
@Override
public String toString() {
return "Page{" +
"index=" + index +
", size=" + size +
", total=" + total +
'}';
}
}
2.接口
UserInfoMapper.java
List<UserInfo> getUserInfoByPage(@Param("page") Page page);
UserInfoService.java
public List<UserInfo> getUserInfoByPage(Page page);
UserInfoServiceImpl.java(实现UserInfoService.java接口的类)
@Override
public List<UserInfo> getUserInfoByPage(Page page) {
return userInfoMapper.getUserInfoByPage(page);
}
3.映射文件配置
<select id="getUserInfoByPage" resultMap="BaseResultMap" parameterType="com.hongruan.utils.Page" >
select * from user_info limit #{page.start},#{page.rows}
</select>
4.测试方法
@Autowired
private UserInfoService userInfoService;
@Test
public void pagetest(){
Page page = new Page();
page.setIndex(2);
page.setSize(5);
page.setTotal(10);
List<UserInfo> userInfos = userInfoService.getUserInfoByPage(page);
for (UserInfo usf:userInfos
) {
System.out.println(usf.toString());
}
}