请教各位,关于数据查询的问题,我应该怎样实现这个需求?

1、当前业务数据库的数量是不确定的,确定的是所有业务数据库是放在同一台服务器,而且数据库名称是有规律的,里面的表也都是一样的,只是数据不同,有一个公共数据库里的一张表记录这些业务数据库的名称。
2、前端通过接口获取业务数据库名称列表,登录时可以选择不同业务数据库进行登录。
3、后端跟据前端提交过来选择哪个数据库,然后查找对应业务数据库的信息。

问题:后端用mybatis-plus查询数据,因为业务数据库的数量是不确定的,所以无办法提前配置好数据源,那么怎样跟据提交过来的业务数据库名称来查找对应数据库的数据?

阅读 1.4k
1 个回答

spring爸爸早就考虑到这个问题了,defaultTargetDataSource就是你的公共库,
targetDataSources就是所有的业务库,AbstractRoutingDataSource这个抽象类,只要你重写determineCurrentLookupKey这个方法即可(其实就是生成targetDataSources 这个map的key,方便找到真实的数据源);

完美搞定从数据库读取数据源的问题
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题