信息发布→ 登录 注册 退出

Mybatis-Plus分页的使用与注意事项

发布时间:2026-01-11

点击量:
目录
  • 1.写个Mybatis-plus配置类:
  • 2.写接口测试
  • 3.注意
  • 4.如果你还有查询条件
    • 1.Lambda表达式
    • 2.普通查询
  • 总结

    1.写个Mybatis-plus配置类:

    是通过拦截器实现分页

    @Configuration
    public class MybatisConfig {
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor() {
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    }
    

    官网复制即可,只是你需要把数据库改为你使用的,这里我是使用mysql

    2.写接口测试

    很简单

    @GetMapping("/test")
        public Response test(){
            Page<Produce> producePage = new Page<>(1,1);
            Page<Produce> page = produceService.page(producePage);
            System.out.println(producePage == page);
            List<Produce> records = page.getRecords();
            for (Produce record : records) {
                System.out.println(record);
            }
            return new Response<>(records, ResultEnum.SUCCESS);
        }
    

    默认是会查询总条数,都有get、set方法,可以根据自己的需求设置(点开Page类看看)

    3.注意

    我们传入的page对象和查询返回的page对象是同一个

    4.如果你还有查询条件

    比如我们只查询id和price,id小于5的分页查询

    1.Lambda表达式

    @GetMapping("/test")
    public Response test(){
        Page<Produce> producePage = new Page<>(1,2);
        Page<Produce> page = new LambdaQueryChainWrapper<>(produceService.getBaseMapper())
                .select(Produce::getPid,Produce::getPrice)
                .lt(Produce::getPid,5)
                .page(producePage);
    
        return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
    }
    

    2.普通查询

    @GetMapping("/test")
    public Response test(){
        Page<Produce> producePage = new Page<>(1,2);
        QueryWrapper<Produce> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("pid","price");
        queryWrapper.lt("pid",5);
        Page<Produce> page = produceService.page(producePage, queryWrapper);
        return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
    }
    

    总结

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!