若依框架使用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,否则会遇到无法调用这些方法的问题。

特别鸣谢:潘玉康大佬

相关推荐
马猴烧酒.9 小时前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
962464i15 小时前
mybatis-plus生成代码
java·开发语言·mybatis
小信丶16 小时前
@MappedJdbcTypes 注解详解:应用场景与实战示例
java·数据库·spring boot·后端·mybatis
palomua16 小时前
MyBatis-Plus实体类新增字段导致存量接口报错问题
数据库·mybatis
椎49517 小时前
MybatisPlus插件-简化代码开发
mybatis
root666/17 小时前
【Java-后端-Mybatis】DISTINCT 作用
数据库·sql·mybatis
墨雨晨曦8818 小时前
MyBatis框架篇
java·开发语言·mybatis
爱敲代码的小鱼18 小时前
Mybatis:
java·开发语言·mybatis
R-sz2 天前
mybatis的XML,如何多值匹配,支持单值(=)和多值(IN)查询
xml·mybatis
强化试剂2 天前
Ergosterol-PEG-Biotin,麦角甾醇PEG生物素在生物偶联中的关键应用
jvm·intellij-idea·mybatis·nio