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

image-20211127103508187

2.写接口测试

很简单

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

Mybatis-Plus分页的使用与注意事项_第1张图片

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

Mybatis-Plus分页的使用与注意事项_第2张图片

3.注意

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

image-20211127105657392

image-20211127105710551

4.如果你还有查询条件

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

Mybatis-Plus分页的使用与注意事项_第3张图片

1.Lambda表达式

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

    return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
}

image-20211127112546762

2.普通查询

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

Mybatis-Plus分页的使用与注意事项_第4张图片

Mybatis-Plus分页的使用与注意事项_第5张图片

总结

到此这篇关于Mybatis-Plus分页的使用与注意事项的文章就介绍到这了,更多相关Mybatis-Plus分页使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Mybatis-Plus分页的使用与注意事项)