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>()进行传参,不进行参数约束的话默认查询所有的进行分页。
数据库的信息