0
点赞
收藏
分享

微信扫一扫

MybatisPlus中分页插件的使用

是她丫 2022-02-22 阅读 70
1:创建配置类
package com.dongmu.mybatisplus.config;


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@EnableTransactionManagement
@Configuration
@MapperScan("com.dongmu.mybatisplus.mapper")
public class MybatisConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
		//测试乐观锁用到的,这里可以不加
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
		
		//测试分页用到的配置
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }


    /*
    老版的配置
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
    */
    /*
    新版的配置
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
    */
}

测试:

 @Test
    public void selectAndPage(){
        Page<User> userPage = new Page<>(2,2);
        Page<User> userPage1 = userMapper.selectPage(userPage, new QueryWrapper<User>());

        List<User> records1 = userPage.getRecords();
//        List<User> records = userPage1.getRecords();

//        records.forEach(System.out::println);

        long current = userPage.getCurrent();//当前查询的页数
        long size = userPage.getSize();//每页的大小
        long total = userPage.getTotal();//总的记录条数
        long pages = userPage.getPages();//获取一共有多少页

        System.out.println("current-->"+current);
        System.out.println("size-->"+size);
        System.out.println("total-->"+total);
        System.out.println("pages-->"+pages);
        records1.forEach(System.out::println);

    }

测试的结果
在这里插入图片描述

如果我们不需要条件约束就可以直接使用上面的userPage 
如果我们还想使用我们的条件进行约束,就使用
Page<User> userPage1 = userMapper.selectPage(userPage, new QueryWrapper<User>());
在new QueryWrapper<User>()进行传参,不进行参数约束的话默认查询所有的进行分页。

数据库的信息
在这里插入图片描述

举报

相关推荐

0 条评论