欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分页插件和pojo的插件

程序员文章站 2022-04-13 20:51:41
...

PageHelper分页插件
PageHelper是适用于MyBatis框架的一个分页插件,使用方式极为便捷,支持任何复杂的单表、多表分页查询操作。
开发步骤:
1,导入依赖

<dependency>
		<groupId>com.github.pagehelper</groupId>
		<artifactId>pagehelper</artifactId>
		<version>5.1.10</version>
</dependency>

2,配置MyBatis.config.xml文件

<configuration>
  	<typeAliases></typeAliases>
  
    <plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
  
  	<environments>...</environments>
</configuration>

3,写sql语句

 <select id="selectUsers" resultType="user">
        select * from t_users
    </select>

4,写测试类

    @Test
    public void test2() {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
//分页查询的测试select * from t_users LIMIT ?, ?
        PageHelper.startPage(2,3);

        List<User> users = mapper.selectUsers();
        System.out.println(users.toString());
    }

PageInfo对象

PageInfo对象中包含了分页操作中的所有相关数据
分页插件和pojo的插件使用PageInfo保存分页查询结果

@Test
public void testPageInfo(){
		UserDao userDao = MyBatisUtils.getMapper(UserDao.class);
		PageHelper.startPage(6, 2);
		List<User> users = userDao.selectAllUsers();
		PageInfo<User> pageInfo = new PageInfo<User>(users);//将分页查询的结果集保存在PageInfo对象中
		System.out.println(pageInfo);
}

结果:
PageInfo{pageNum=2, pageSize=3, size=3, startRow=4, endRow=6, total=6, pages=2, list=Page{count=true, pageNum=2, pageSize=3, startRow=3, endRow=6, total=6, pages=2, reasonable=false, pageSizeZero=false}

[User{id=4, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}, User{id=5, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}, User{id=6, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}],

prePage=1, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true, hasNextPage=false, navigatePages=8, navigateFirstPage=1, navigateLastPage=2, navigatepageNums=[1, 2]}

思考:可以根据pageinfo的属性进行判断是否是最后一页等。

相关标签: 笔记 三大框架