Mybatis-Plus分页的使用与注意事项
作者:为了我的架构师
分页查询每个人程序猿几乎都使用过,下面这篇文章主要给大家介绍了关于Mybatis-Plus分页的使用与注意事项的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
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); }
总结
到此这篇关于Mybatis-Plus分页的使用与注意事项的文章就介绍到这了,更多相关Mybatis-Plus分页使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!