[alibaba/druid]setSchema方法未实现

2025-11-17 955 views
2

DruidPooledConnection未实现setSchema方法,这样无法在实际运行环境中实现切库操作。

回答

1

我是通过 自己执行 update SQL 来实现,“use test_db1” 这样,其实这样还好

1

我是通过 自己执行 update SQL 来实现,“use test_db1” 这样,其实这样还好 我提这个是因为要做一服多库的多租户。

  1. 多个请求不在一个session里,几乎所有地方都要动,还有判断。
  2. 执行sql和setSchema的有性能差距。
  3. 如果把use test_db1作为当做Mybatis插件,那么不同的数据库就要执行不同的SQL,这个插件的通用性就很差了。 所以你说的还好,我不太理解这样做的好处有什么?
1

use test_db1和setSchema的性能是一致的,都需要服务端通讯实现。同时mysql driver在没有额外配置时,setSchema是不起作用的。