MybatisPlus实现分页查询

川长思鸟来 2022-11-18 01:47 406阅读 0赞

使用MybatisPlus进行查询操作的一些用法:

1、list集合

  1. //多个id批量查询
  2. @Test
  3. void testSelect1(){
  4. //这里的selectBatchIds方法 需要传入一个id的集合参数
  5. List<User> users = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));
  6. users.forEach(System.out::println);
  7. }

2、map的方法

  1. @Test
  2. void testSelectByMap() {
  3. HashMap<String, Object> map = new HashMap<>();
  4. map.put("name", "Jone");
  5. map.put("age", 18);
  6. List<User> users = userMapper.selectByMap(map);
  7. users.forEach(System.out::println);
  8. }

3、分页查询

(1)创建配置类

  1. /** * 旧版分页插件 * @return */
  2. @Bean
  3. public PaginationInterceptor paginationInterceptor() {
  4. PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
  5. // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
  6. paginationInterceptor.setOverflow(false);
  7. // 设置最大单页限制数量,默认 500 条,-1 不受限制
  8. // paginationInterceptor.setLimit(500);
  9. // 开启 count 的 join 优化,只针对部分 left join
  10. //paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
  11. return paginationInterceptor;
  12. }
  13. }

(2)测试分页插件,编写分页代码
直接new page对象,传入两个参数,当前页和每页显示记录数
调用map实现分页

  1. //分页查询测试
  2. @Test
  3. public void testPage(){
  4. //1、创建page对象
  5. //传入两个参数: 当前页和每页显示记录数
  6. Page<User> userPage = new Page<>(1,2);
  7. //调用分页查询的方法
  8. //调用分页查询过程中,底层封装
  9. //把分页所有数据封装到page对象里面
  10. //两个参数:第一个参数是page对象,第二个wrapper查询的条件
  11. userMapper.selectPage(userPage, null);
  12. // 通过page对象获取分页数据
  13. System.out.println("当前页:"+userPage.getCurrent()); //当前页
  14. System.out.println("每页数据内容:"+userPage.getRecords()); //每页数据内容
  15. System.out.println("每页显示记录:"+userPage.getSize()); //每页显示记录
  16. System.out.println("总记录数:"+userPage.getTotal()); //总记录数
  17. System.out.println("总页数:"+userPage.getPages()); //总页数
  18. System.out.println("是否有下一页:"+userPage.hasNext()); //是否有下一页
  19. System.out.println("是否有上一页:"+userPage.hasPrevious()); //是否有上一页
  20. }

发表评论

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

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

相关阅读