若依框架使用MyBatis-Plus中的baseMapper的方法报错Invalid bound statement (not found):

复制代码
Invalid bound statement (not found): com.ruoyi.system.mapper.hc.HcOrderMapper.selectList 解决方法
java 复制代码
  MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();

使用 MybatisSqlSessionFactoryBean 而非 SqlSessionFactoryBean 的原因

**MyBatis-Plus 特性:MybatisSqlSessionFactoryBean 是 MyBatis-Plus 提供的一个扩展类,**它继承自 SqlSessionFactoryBean,但是支持 MyBatis-Plus 提供的额外功能,比如自动注入的 BaseMapper、Wrapper 查询等功能。

SqlSessionFactoryBean 的局限性:如果使用 SqlSessionFactoryBean,它仅支持原生 MyBatis,而不能使用 MyBatis-Plus 的功能。因此,BaseMapper 中的 CRUD 方法(如 selectById、insert 等)无法正常工作,因为这些是 MyBatis-Plus 提供的增强功能,只有 MybatisSqlSessionFactoryBean 才能识别和处理这些功能。

类加载和代理问题:SqlSessionFactoryBean 并不知道 MyBatis-Plus 的增强功能,因此在执行与 MyBatis-Plus 相关的操作时,可能会遇到运行时错误或无法找到对应的方法。而 MybatisSqlSessionFactoryBean 处理了这些代理问题,确保 MyBatis-Plus 的增强功能可以正常工作。

因此,如果想要使用 MyBatis-Plus 提供的 BaseMapper 的方法,必须使用 MybatisSqlSessionFactoryBean,否则会遇到无法调用这些方法的问题。

特别鸣谢:潘玉康大佬

相关推荐
Mcband7 小时前
MyBatis 拦截器让搞定监控、脱敏和权限控制
mybatis
╭╰4027 小时前
苍穹外卖优化-续
java·spring·mybatis
weixin_456904278 小时前
基于Spring Boot + MyBatis的用户管理系统配置
spring boot·后端·mybatis
码熔burning15 小时前
Redis 的三种高效缓存读写策略!
redis·缓存·mybatis
stein_java1 天前
Mybatis-7 XML映射器
数据库·sql·mybatis
托比-马奎尔1 天前
MyBatis入门到精通:CRUD实战指南
mybatis
ByteBlossom1 天前
MyBatis高频问题-自动映射与缓存解析
mybatis
半夏陌离1 天前
SQL 进阶指南:视图的创建与使用(视图语法 / 作用 / 权限控制)
java·数据库·mybatis
BillKu1 天前
Spring Boot中MyBatis的定义与使用
spring boot·mybatis
lozhyf2 天前
固定资产管理系统(vue+Springboot+mybatis)
vue.js·spring boot·mybatis