mybatis-plus配置多数据源出现invalid bound statement not found怎么解决
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"mybatis-plus配置多数据源出现invalid bound statement not found怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网科技卖菜
互联网巨头科技公司
科技信息互联网
科技制造互联网公司
有木互联网科技
友谊互联网络科技
上游互联网科技
撒么互联网科技公司
互联网科技有限公司 翻译
深圳卡尔迅互联网科技有限公司怎么样
汉立互联网科技有限公司联系电话
安控科技rtu产品工业互联网
福州新华互联网科技学校 知乎
汽车互联网创新科技园
晋城互联网科技
特约风豹互联网科技为什么扣费
互联网金融科技元年
宁波跨境商互联网科技有限公司
恒生科技指数 中概互联网
狮子座互联网科技
互联网女皇 腾讯科技
广西互联网科技公司
互联网科技视频素材
浙江互联网科技研学营
新兴科技互联网创新大赛颁奖典礼
恒生互联网科技业指数调整周期
深圳无忧互联网科技
广州互联网高科技取餐柜
艺电能源互联网科技有限公司招聘