mybatis的分页插件使用

向右看齐 2022-11-26 08:53 353阅读 0赞

现在实现简单的分页查询没有以前手写代码那么复杂了,以前写分页查询,我们需要设置好多的属性,并且还需要计算才能得出我们想要的页面数据,而现在我们只需要引入一个插件就可以了,实现mybatis分页查询只需要三个步骤就可以实现了。

我这里使用的是maven仓库,如果没有配置好maven的小伙伴,我在之前的博客也是有说明的:
https://blog.csdn.net/qq_44739706/article/details/105904102

第一步:在maven仓库引入pagehelper的坐标

  1. <!--引入mybatis分页插件-->
  2. <dependency>
  3. <groupId>com.github.pagehelper</groupId>
  4. <artifactId>pagehelper</artifactId>
  5. <version>5.1.11</version>
  6. </dependency>

第二步:我们需要在mybatis的xml文件里进行配置(这里需要注意的地方是mybatis的xml文件标签是有顺序的,如果报错了,就换一下位置)
在这里插入图片描述
在这里插入图片描述

  1. <plugins>
  2. <!-- com.github.pagehelper为PageHelper类所在包名 -->
  3. <plugin interceptor="com.github.pagehelper.PageInterceptor">
  4. <property name="param1" value="value1"/>
  5. </plugin>
  6. </plugins>

第三步:使用

  1. public static void main(String[] args)throws Exception{
  2. //1、读取主配置文件
  3. InputStream in=Resources.getResourceAsStream("SqlMapConfig.xml");
  4. //2、创建一个SqlSessionFactory工厂
  5. SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
  6. SqlSessionFactory factory=builder.build(in);
  7. //3、使用工厂SqlSession对象
  8. SqlSession session=factory.openSession();
  9. //4、使用SqlSession创建Dao接口的代理对象
  10. IUserDao userDao=session.getMapper(IUserDao.class);
  11. //在查询之前只需要调用,传入页码(pageNum>=1),以及分页每页的大小(pageSize)
  12. PageHelper.startPage(1,2);
  13. //5、使用代理对象执行方法
  14. List<User> users=userDao.findAll();
  15. for (User user:
  16. users) {
  17. System.out.println(user);
  18. }
  19. PageInfo pageInfo=new PageInfo(users);
  20. long total = pageInfo.getTotal();
  21. int size = pageInfo.getSize();
  22. System.out.println("页面大小:"+size);
  23. System.out.println("总页数:"+total);
  24. //6、释放资源
  25. session.close();
  26. in.close();
  27. }
  28. }

效果图:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,353人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mybatis使用

    现在实现简单的分页查询没有以前手写代码那么复杂了,以前写分页查询,我们需要设置好多的属性,并且还需要计算才能得出我们想要的页面数据,而现在我们只需要引入一个插件就可以了,实现m

    相关 Mybatis

    1.        Mybatis分页插件 \- PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。 该插件目前支持