分页信息类代码
package com.Dy.Pojo;
import java.util.List;
/**
* 分页信息
*/
public class PageInfo<T> {
// 你页面需要展示的集合
private List<T> list;
// 显示的总记录数
private Integer totalNum;
// 总页数
private Integer totalPage;
// 当前页
private Integer currentPage;
// 每页显示的数目 (为了防止硬编码可以写在配置文件中)
private Integer pageSize;
// 下面两个就是显示的页码 比如start为1 pageNo为5,那么显示的页码数就是1,2,3,4,5
private Integer start;
private Integer pageNo;
public PageInfo(Integer totalNum, Integer currentPage, Integer pageSize, Integer pageNo) {
this.totalNum = totalNum;
this.currentPage = currentPage;
this.pageSize = pageSize;
/*this.pageNo = pageNo;*/
// 计算总页数
if (totalNum % this.pageSize == 0)
this.totalPage = totalNum / this.pageSize;
else
this.totalPage = (totalNum / this.pageSize) + 1;
this.start = currentPage;
// 比如设置了5条,如果总页数都只有四条,那么肯定都是全是显示哦
if (pageNo+currentPage-1>=this.totalPage)
this.pageNo = pageNo;
else this.pageNo = this.totalPage-currentPage+1;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public Integer getTotalNum() {
return totalNum;
}
public void setTotalNum(Integer totalNum) {
this.totalNum = totalNum;
}
public Integer getTotalPage() {
return totalPage;
}
public void setTotalPage(Integer totalPage) {
this.totalPage = totalPage;
}
public Integer getCurrentPage() {
return currentPage;
}
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public Integer getPageNo() {
return pageNo;
}
public void setPageNo(Integer pageNo) {
this.pageNo = pageNo;
}
}
实体类代码
package com.Dy.Pojo;
public class User {
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
dao层代码
package com.Dy.Mapper;
import java.util.List;
import com.Dy.Pojo.User;
public interface UserMapper {
public List<User> findAllUsers();
}
mapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里的namespace是为了去绑定那个接口,让xml文件知道对应的是哪个接口 -->
<mapper namespace="com.Dy.Mapper.UserMapper">
<!-- id于接口的名字一样 -->
<select id="findAllUsers" resultType="com.Dy.Pojo.User">
select * from user
</select>
</mapper>
service层代码
package com.Dy.Service;
import com.Dy.Pojo.PageInfo;
import com.Dy.Pojo.User;
public interface UserService {
public PageInfo<User> findAllUsersByPage(Integer currentPage,Integer pageSize);
}
实现层代码
package com.Dy.Service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.Dy.Mapper.UserMapper;
import com.Dy.Pojo.PageInfo;
import com.Dy.Pojo.User;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper usermapper;
@Override
public PageInfo<User> findAllUsersByPage(Integer currentPage, Integer pageSize) {
List<User> users = usermapper.findAllUsers();
PageInfo<User> pageInfo = new PageInfo<>(users.size(), currentPage, pageSize, 5);
//判断是否是最后一页,如果最后一页就显示最后一页的几条,不是最后一页就显示pageSize条
if(currentPage==pageInfo.getTotalPage())
pageInfo.setList(users.subList((currentPage-1)*pageSize, users.size()));
else
pageInfo.setList(users.subList((currentPage-1)*pageSize, (currentPage-1)*pageSize+pageSize));
return pageInfo;
}
}