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

特别鸣谢:潘玉康大佬

相关推荐
xbhog4 小时前
Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析
spring boot·kafka·mybatis·java面试·分布式架构
爱的叹息4 小时前
MyBatis缓存配置的完整示例,包含一级缓存、二级缓存、自定义缓存策略等核心场景,并附详细注释和总结表格
缓存·mybatis
PXM的算法星球6 小时前
【Java后端】MyBatis 与 MyBatis-Plus 如何防止 SQL 注入?从原理到实战
java·sql·mybatis
旧故新长6 小时前
MyBatis 类型处理器(TypeHandler)注册与映射机制:JsonListTypeHandler和JsonListTypeHandler注册时机
java·开发语言·mybatis
wkj00112 小时前
springboot + mybatis 需要写 .xml吗
xml·spring boot·mybatis
爱的叹息1 天前
Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码
spring boot·spring·mybatis
与秋逐鹿¥1 天前
在Mybatis中为什么要同时指定扫描mapper接口和 mapper.xml 文件,理论单独扫描 xml 文件就可以啊
java·tomcat·mybatis
爱的叹息1 天前
MyBatis 插件开发的完整详细例子
mybatis
Minyy112 天前
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
xml·java·spring boot·后端·spring·mybatis·logback
北辰浮光2 天前
[Mybatis-plus]
java·开发语言·mybatis