开发者社区> 问答> 正文

动态切换多数据源

我正在使用druid作为我的数据库连接池,我现在遇到了一个问题,怎么去动态切换多个数据源,我的项目服务20个城市,每个城市对应三个业务库,怎么能根据url里面的城市参数动态切换到对应城市的库。 项目采用spring boot mybatis druid

我也知道有这么个东西AbstractRoutingDataSource,但是看了网上大部分实现,都是预先创建好所有的datasource

有任何想法么,万分感谢!

原提问者GitHub用户smokedog2

展开
收起
山海行 2023-07-05 19:49:09 54 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    要根据 URL 中的城市参数动态切换到对应城市的库,您可以采用以下步骤:

    1. 设置城市参数:在 URL 中设置一个城市参数,例如 ?city=Beijing。
    2. 获取城市参数:在程序中获取 URL 中的城市参数。对于 Java,可以使用 request.getParameter("city") 方法从 HttpServletRequest 对象中获取城市参数。对于 Python,可以使用 urllib.parse.parse_qs() 方法从 URL 中解析城市参数。
    3. 根据城市参数选择库:根据获取的城市参数,选择对应的城市库。例如,如果您有北京库、上海库、广州库等,根据城市参数选择相应的库。
    4. 加载库:使用相应的库,例如在北京库中查找数据。对于 Java,可以使用 Class.forName() 方法加载库类;对于 Python,可以使用 import 语句加载库。
    2023-07-30 15:17:00
    赞同 展开评论 打赏
  • 最后没有使用druid,还是使用原始的AbstractRoutingDataSource实现动态数据源切换

    原回答者GitHub用户smokedog2

    2023-07-06 11:09:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载