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给我们自动配置出来用来传给前端表示总共有几页的参数。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐