总结:目前升级仅发现依赖有变更,其他目前未发现,如有发现,后续会继续更新
由于项目架构提升,以前开发的很多公共的组件,以及配置都需要升级,因此记录需要更改的配置(记录时间:2025年-04月),通过查看官方文档https://baomidou.com/getting-started/,知道主要的改动点有,maven依赖变更,分页变更。
然而如果只单独引用MyBatis-Plus的以来,会报以下错误
PaginationInnerInterceptor cannot be resolved to a type
官方文档说明:于 v3.5.9 起,PaginationInnerInterceptor 已分离出来。如需使用,则需单独引入 mybatis-plus-jsqlparser 依赖
1项目结构
2SpringBoot版本
SpringBoot版本及Java版本如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mybatis-plus-demo</groupId>
<artifactId>demo</artifactId>
<properties>
<java.version>17</java.version>
</properties>
3maven依赖
<dependencies>
<!-- Spring web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- mybatis-plus https://baomidou.com/getting-started/ -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.11</version>
</dependency>
<!-- mybatis-plus于 v3.5.9 起,PaginationInnerInterceptor 已分离出来。如需使用,则需单独引入 mybatis-plus-jsqlparser 依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<version>3.5.11</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
代码
MybatisPlusConfig配置扫包路劲,以及分页插件
/*
* @Description: mybatis配置
* @author: 胡涛
* @mail: hutao1@epri.sgcc.com.cn
* @date: 下午12:14:22
*/
@Configuration
@MapperScan("com.example.demo.**.mapper")
public class MybatisPlusConfig {
/*
* @Description: 配置mybatis插件
* @author: 胡涛
* @mail: hutao1@epri.sgcc.com.cn
* @date: 下午12:14:15
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 如果配置多个插件, 切记分页最后添加
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
return interceptor;
}
}
使用MyBatis-Plus进行分页查询
@RestController
@RequestMapping("/sysOrg")
public class SysOrgController {
@Autowired
private ISysOrgService sysOrgService;
@GetMapping("/info/page/{pageNum}/{pageSize}")
public ResponseEntity<IPage<SysOrg>> pageSysOrgInfo(@PathVariable Integer pageNum, @PathVariable Integer pageSize) {
QueryWrapper<SysOrg> query = new QueryWrapper<>();
query.eq("org_type", "1");
IPage<SysOrg> page = new Page<SysOrg>(pageNum, pageSize);
IPage<SysOrg> pageData = sysOrgService.page(page, query);
ResponseEntity<IPage<SysOrg>> res = new ResponseEntity<>(pageData, HttpStatus.OK);
return res;
}
}
查询结果实例。