关键词
mybatis-plus 、 druid 、跨不同数据源、同一个连接跨库查询
项目场景描述
1.项目数据库db_data_link和dolphinscheduler数据库db_ds使用同一个mysql实例,分不同的库,为了降低复杂度,给db_data_link的用户赋予了db_ds数据库的只读权限,可以跨库查询
2.项目中还会用到其他的数据库,如hive的meta数据库,也想使用mybatis的快捷查询功能
3.项目中主库只有一个,涉及到事务,其他的都不需要
多种方式调研
方案 | 核心思路描述 | 总结 | |
---|---|---|---|
方案1 | baomidou官方提供的dynamic-datasource-spring-boot-starter ,功能强大,可以满足各类场景需求,官方帮助文档 | 1.核心原理是做数据源动态切换,mybatis-plus的配置只有一个,在执行时根据注解@ds 来实现切换 | 缺点: 1.在使用的时候仍然需要在具体的mapper或者service加上注解来区分数据源 2.有遇到过多数据源事务提交不满足 |