mybatis-plus配置多数据源出现invalid bound statement not found怎么解决
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"mybatis-plus配置多数据源出现invalid bound statement not found怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来
千家信息网最后更新 2025年12月03日mybatis-plus配置多数据源出现invalid bound statement not found怎么解决
本篇内容介绍了"mybatis-plus配置多数据源出现invalid bound statement not found怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、 环境
版本号
com.baomidou mybatis-plus-boot-starter 3.2.0 没有使用
myabtis-plus的多数据源依赖com.baomidou dynamic-datasource-spring-boot-starter 2.5.7
二、 多数据源配置
启动类配置
@MapperScans({ @MapperScan(basePackages = {"com.aaa.dao"}, sqlSessionFactoryRef = DatasourceConf.SESSION_FACTORY), @MapperScan(basePackages = {"com.bbb.dao"}, sqlSessionFactoryRef = OtherDatasourceConf.OTHER_SESSION_FACTORY)})配置类
@Configurationpublic class DatasourceConf { public static final String SESSION_FACTORY = "SessionFactory"; @Primary @Bean(name = SESSION_FACTORY) public SqlSessionFactory dianOrderSessionFactory(MybatisProperties properties) throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(secondDatasource()); //... } @Primary @Bean public DataSource secondDatasource() { return new HikariDataSource(secondHikariConfig()); } @Bean @ConfigurationProperties(prefix = "spring.datasource.aaa.hikari") public HikariConfig secondHikariConfig() { return new HikariConfig(); }}另一个数据源配置
@Configurationpublic class OtherDatasourceConf { public static final String OTHER_SESSION_FACTORY = "otherSessionFactory"; @Bean(name = OTHER_SESSION_FACTORY) public SqlSessionFactory otherSessionFactory(MybatisProperties properties) throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(otherDataSource()); //.... } @Bean public DataSource otherDataSource() { return new HikariDataSource(otherHikariConfig()); } @Bean @ConfigurationProperties(prefix = "spring.datasource.hikari") public HikariConfig otherHikariConfig() { return new HikariConfig(); }}
三、异常
在mapper.xml中配置了sql的都没问题,但是使用mybatis-plus的内置函数就会报invalid bound statement (not found)异常。
四、 解决
查看
MybatisPlusAutoConfiguration类@Configuration@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})@ConditionalOnSingleCandidate(DataSource.class)@EnableConfigurationProperties(MybatisPlusProperties.class)@AutoConfigureAfter(DataSourceAutoConfiguration.class)public class MybatisPlusAutoConfiguration implements InitializingBean { @Bean @ConditionalOnMissingBean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { // TODO 使用 MybatisSqlSessionFactoryBean 而不是 SqlSessionFactoryBean MybatisSqlSessionFactoryBean factory = new MybatisSqlSessionFactoryBean(); factory.setDataSource(dataSource); ... return factory.getObject(); }}将
SqlSessionFactoryBean修改成myabtis-plus自定义的MybatisSqlSessionFactoryBean解决注意
mybatis-plus的配置需要使用MybatisPlusProperties而不是MybatisProperties当配置类多个
DataSource,MybatisPlusAutoConfiguration类就不再生效,需要手动配置
"mybatis-plus配置多数据源出现invalid bound statement not found怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
配置
数据
数据源
内容
更多
知识
实用
学有所成
接下来
函数
困境
多个
实际
情况
手动
文章
案例
版本
环境
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库pool
家庭网络技术及宽带要求
青浦区电子网络技术质量服务
软件开发项目实践心得体会
吴中区智能化软件开发备案
软件开发如何进行市场定位
云南gps授时模块服务器
由数据库生成关系图
深度社神经网络技术的应用
网络安全二级认证价格
漳州财务软件开发费用
青少年网络安全课堂 ppt
福建省计算机网络技术
云手机虚拟服务器
raid物理服务器
打印服务器引起网络瘫痪
丁祥龙杭州湖畔网络技术有限公司
天猫购物车买东西显示服务器出错
网络语音通话会保存在服务器吗
辽宁app软件开发
数据库量词
宝塔面板搭建ip服务器
徐州网络软件开发电话多少
泰州运营网络技术哪家好
湖州网络技术创新服务
河南什么是软件开发推广
c 语句数据库信息修改
上海无线网络技术服务
软件开发多少钱一个月6
数据库更改时间数据