当前位置: 首页 > news >正文

SpringBoot3集成MyBatis-Plus(解决Boot2升级Boot3)

总结:目前升级仅发现依赖有变更,其他目前未发现,如有发现,后续会继续更新

由于项目架构提升,以前开发的很多公共的组件,以及配置都需要升级,因此记录需要更改的配置(记录时间: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*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 如果配置多个插件, 切记分页最后添加interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbTypereturn interceptor;}
}

使用MyBatis-Plus进行分页查询

@RestController
@RequestMapping("/sysOrg")
public class SysOrgController {@Autowiredprivate 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;}
}

查询结果实例。
在这里插入图片描述

http://www.xdnf.cn/news/87733.html

相关文章:

  • MQ底层原理
  • AI代表企业签订的合同是否具有法律效力?
  • 第一章-语言基础\2.竞赛常用库函数\其他库函数
  • AXOP33552: 400MHz 高速双通道运算放大器
  • 《AI大模型应知应会100篇》 第33篇:大模型在法律文档处理中的应用
  • 第T9周:猫狗识别2
  • MySQL中根据binlog日志进行恢复
  • SAS宏调试:高效定位与解决典型问题
  • 德施曼重磅发布五大突破性技术及多款重磅新品,开启AI智能管家时代
  • 使用 rebase 轻松管理主干分支
  • 【Linux】静态库 动态库
  • ZLG嵌入式笔记 | 拯救NAND/eMMC:延长闪存寿命
  • OpenCv高阶(七)——图像拼接
  • 高级java每日一道面试题-2025年4月22日-基础篇[反射篇]-如何通过反射创建一个对象实例?
  • Redi的常见场景
  • Agent框架LangGraph:实现一个简单的Plan-and-Execute Agent
  • 使用Java调用TensorFlow与PyTorch模型:DJL框架的应用探索
  • xyz 瓦片leaflet地图组件 显示
  • 软考-高项,知识点一览十九 配置和变更管理
  • 低代码破局,助力工业互联网平台迈向智改数转新高地
  • 电脑硬盘丢失怎么找回?解决硬盘数据恢复的2种方法
  • XHTMLConverter把docx转换html报java.lang.NullPointerException异常
  • 【YOLOv8-pose部署至RK3588】模型训练→转换RKNN→开发板部署
  • Mujoco xml < sensor>
  • 转型探讨:未来投资与布局
  • ARP(地址解析协议)
  • 高效UI组件库Kendo UI——赋能企业级Web应用开发
  • 25、简述.NET程序集(Assembly)
  • 基于javaweb的SpringBoot校园失物招领系统设计与实现(源码+文档+部署讲解)
  • [数据结构]树和二叉树