Mybatis-plus中的分页操作
- 1.导入Mybatis-plus依赖
- 2.创建mybatis配置类
- 3.参数
1.导入Mybatis-plus依赖
因为是一个springboot项目,其中的pom.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.rql</groupId><artifactId>springboot-ssmp-05</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot-ssmp-05</name><description>springboot-ssmp-05</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.6</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
这里要特别注意springboot版本与mybatis-plus
版本的对应关系。由于我使用的是最新的2024年idea,并且使用的是jdk17
,导致我创建springboot项目时,版本都是3以上的,这样就会导致在导入其他依赖时,出现版本冲突。
目前我的解决办法就是降低springboot版本。
2.创建mybatis配置类
@Configuration
public class MPConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor());return interceptor;}}
这段配置类的目的就是为Mybatis Plus
配置一个分页插件,使得在进行分页查询时能够自动处理分页相关的SQL
逻辑。
其中PaginationInnerInterceptor
,这是Mybatis Plus
提供的一个分页插件。分页插件的主要作用是自动处理分页相关的SQL
逻辑。
3.参数
Page page = new Page(2,5);Page page1 = bookDao.selectPage(page, null);System.out.println(page1.getPages());System.out.println(page1.getCurrent());System.out.println(page1.getSize());System.out.println(page1.getTotal());System.out.println(page1.getRecords());
getPages()
: 统计总共的分页数getRecords()
: 获取当前页的数据getCurrent()
: 获取当前的页数getSize()
: 每页的大小getToal()
: 总的数据量