时间:2022-12-27 10:18:27 | 栏目:JAVA代码 | 点击:次
Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生
是通过拦截器实现分页
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
官网复制即可,只是你需要把数据库改为你使用的,这里我是使用mysql

很简单
@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类看看)

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


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

@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);
}

@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);
}

