若依框架使用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 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis
rabbit_pro12 小时前
Java使用Mybatis-Plus封装动态数据源工具类
java·python·mybatis
IT_Octopus17 小时前
java 实体属性 Map 解决 mybatis-plus wrapper selectone 查mysql json类型为null 问题
java·mysql·mybatis
Dolphin_Home17 小时前
MyBatis 核心属性详解笔记(由浅入深)
笔记·mybatis
一直都在57218 小时前
MyBatis入门:CRUD、参数处理与防 SQL 注入
java·sql·mybatis
while(1){yan}1 天前
MyBatis Generator
数据库·spring boot·java-ee·mybatis
memgLIFE2 天前
mybatis数据库查询
数据库·oracle·mybatis
drebander2 天前
MyBatis-Plus saveBatch 在异步线程中事务未提交问题排查与修复
数据库·mybatis
super_lzb2 天前
mybatis拦截器ResultSetHandler详解
java·spring·mybatis·springboot
七夜zippoe2 天前
ORM框架下的SQL优化 N+1问题识别与解决方案
自动化·mybatis·jpa·n+1·batch fetching