思路
1.配置springboot的自动配置数据源关闭
2.在druid(或其他的)数据源外层再封装一层,起名为动态数据源。
3.新的数据源重写getConnection方法,得到连接。
4.在新数据源类中,配置一些如果druid数据源为null,则如何生成新的druid数据源,并提供connection。
5.在mybatis获取连接时,就会调用这个数据源的这个方法,从而获取真正数据源。
原理
springboot启动的时候,会初始化mybatis,会初始化一个null的数据源bean。
直到要执行sql语句的时候,就要getConnection了,这时候,就需要调用真正的数据源去获取session了。也就形成了非null的bean。
参考文章:https://blog.csdn.net/weixin_42694286/article/details/100581307
springboot无数据源启动后靠其余服务获取数据源
最新推荐文章于 2024-01-03 22:58:28 发布
关键词由CSDN通过智能技术生成