MybatisPlus Page类的解析与使用

本文深入解析Mybatis-Plus中Page类的使用与源码分析,介绍如何通过配置实现自动分页功能,包括Page类各属性的作用,如records、total、size等,并演示了如何在DAO层和服务层应用分页查询。

Mybatis-Plus Page类的详解与使用

Page类

mp3.3.0后提供了分页这个扩展功能,传送门Page类源码看这里

源码分析

Page源码
records 用来存放查询出来的数据
total 返回记录的总数
size 每页显示条数,默认 10
current 当前页,默认1
orders 排序字段信息
optimizeCountSql 自动优化 COUNT SQL,默认true
isSearchCount 是否进行 count 查询,默认true
hitCount 是否命中count缓存,默认false

如何使用

mp可以自动帮我们分页,但是需要进行配置
在config包下新建配置

@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

***dao层***写接口,如果要使用curd方法,就要继承baseMapper

@Repository("userMapper")
public interface UserMapper extends BaseMapper<User> {}

自定义方法

Page<UserDTO> queryUsers(Page<UserDTO> page)

一旦传入了Page,mybatis-plus就自动开始进行分页。

传入的Page如何构造
看service层

userMapper.queryUsers(new Page<>(pageNum,pageSize))

最简单的构造方法就是传入当前在几页,一页有几条数据
最后返回的json就是这个样子了。
在这里插入图片描述
这里注意一个细节,pages是mp给我们自动配置出来用来传给前端表示总共有几页的参数。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值