确认
- [x] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
- [x] 我已经在 issue 中搜索过, 确认问题没有被提出过
- [x] 我已经修改标题, 将标题中的 描述 替换为遇到的问题
功能改进
因@ConditionalOnSingleCandidate(DataSource.class) MybatisPlusAutoConfiguration 在多数据下不会生效,但是我非常喜欢MybatisPlusAutoConfiguration的功能,所以我在项目中分别创建了2个MybatisConfig 配置类继承MybatisPlusAutoConfiguration 但是这样带来一个问题:两个SqlSessionFactory使用的是同一个GlobalConfig对象,都是从MybatisPlusProperties中获取的,通过GlobalConfig获取SqlSessionFactory只会得到最后创建的SqlSessionFactory 因而导致某些操作出现错误:Mapped Statements collection does not contain value 建议:全局缓存GlobalConfig并不是一个好的设计,有悖面向对象的思想,个人浅见:既然已经自定义了MybatisConfiguration,将MybatisConfiguration和GlobalConfig合并
参考资料
No response
Comment From: miemieYaho
那你有看过都有哪些地方用了吗?你有解决方案吗?
Comment From: ming4762
com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils#getGlobalConfig 合并之后这个函数就不用要了 SqlSessionFactory 和 MybatisConfiguration互相持有指针,也不需要如下代码: com.baomidou.mybatisplus.core.toolkit.MybatisUtils#getSqlSessionFactory
Comment From: miemieYaho
你的问题是你不应该继承MybatisPlusAutoConfiguration
,你需要你自己写AutoConfiguration
以避免使用到同一个MybatisPlusProperties