Mybatis PageHelper分页插件的使用

1.导入坐标(包)

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>3.7.5</version>
        </dependency>
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>0.9.1</version>
        </dependency>

2.配置分页插件plugins与方言

	<!-- 配置分页助手插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <!-- 配置方言 mysql-->
            <property name="dialect" value="mysql"/>
        </plugin>
    </plugins>

3.代码实现

   3.1准备user表

在这里插入图片描述

   3.2User实体类
public class User {
    
    
    private Integer id;
    private String username;
    private String email;
    private String password;
    private Long phoneNum;
    private Date birthday;


    public Date getBirthday() {
    
    
        return birthday;
    }

    public void setBirthday(Date birthday) {
    
    
        this.birthday = birthday;
    }

    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 getEmail() {
    
    
        return email;
    }

    public void setEmail(String email) {
    
    
        this.email = email;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }


    public void setPhoneNum(Long phoneNum) {
    
    
        this.phoneNum = phoneNum;
    }

    public Long getPhoneNum() {
    
    
        return phoneNum;
    }

    @Override
    public String toString() {
    
    
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", email='" + email + '\'' +
                ", password='" + password + '\'' +
                ", phoneNum=" + phoneNum +
                ", birthday=" + birthday +
                '}';
    }
   3.3UserMapper
public interface UserMapper {
    
    

    public List<User> findAll();

}
   3.4UserMapper.xml
<select id="findAll" resultType="user">
        select  * from sys_user
</select>
   3.5UserService实现
    @Test
    public void testDemo() throws IOException {
    
    
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        PageHelper.startPage(2,3);
        List<User> all = mapper.findAll();
        PageInfo<User> pageInfo=new PageInfo<User>(all);

        for (User user : pageInfo.getList()) {
    
    
            System.out.println(user);
        }
        System.out.println(pageInfo);


        sqlSession.commit();
        sqlSession.close();

    }

日志

User{
    
    id=4, username='小明', email='[email protected]', password='111111', phoneNum=13449484984, birthday=Wed Dec 24 00:00:00 CST 1997}
User{
    
    id=5, username='小李', email='[email protected]', password='111111', phoneNum=13449484984, birthday=Wed Dec 24 00:00:00 CST 1997}
User{
    
    id=6, username='小红', email='[email protected]', password='111111', phoneNum=13449484984, birthday=Wed Dec 24 00:00:00 CST 1997}
PageInfo{
    
    pageNum=2, pageSize=3, size=3, startRow=4, endRow=6, total=6, pages=2, list=Page{
    
    pageNum=2, pageSize=3, startRow=3, endRow=6, total=6, pages=2, reasonable=false, pageSizeZero=false}, firstPage=1, prePage=1, nextPage=0, lastPage=2, isFirstPage=false, isLastPage=true, hasPreviousPage=true, hasNextPage=false, navigatePages=8, navigatepageNums=[1, 2]}

PageInfo属性详解

pageNum:当前为第几页

pageSize:每页的数据行数

startRow:当前页数据从第几条开始

endRow:当前页数据从第几条结束

pages:总页数

prePage:上一页页数

nextPage:下一页页数

hasPreviousPage:是否有上一页

hasNextPage:是否有下一页

navigatepageNums:所有页码的数组

猜你喜欢

转载自blog.csdn.net/weixin_43423864/article/details/109005187