我的代码是用Java编写的,并且我使用Spring JDBC模板访问MySQL数据库。
我的系统是一个多租户,每个租户在MySQL中都有自己的专用模式(例如“ tenant_1”,“ tenant_2”等)。
这是初始化数据库连接的方式:
在引导过程中,我创建了一个暴露DataSourceTransactionManager的bean,该bean由配置有MySQL数据库的连接字符串的DataSource初始化(未指定架构)。
由于我的系统是多租户,因此对于每个请求,我必须选择给定租户的架构。因此,典型查询如下所示:
问题:
我不时得到(1至数千次处决)
java.sql.SQLException:未选择数据库。
我仔细检查了我的代码-实际上,我总是在执行查询之前选择架构。
有什么想法吗?
更新:添加更多信息
更新2:
我的代码用Java编写,我使用Spring JDBC模板访问MySQL数据库。我的系统是一个多租户,每个租户在MySQL中都有自己的专用架构(例如“ tenant_1”,“ tenant_2”,...
[很多事情可能出错,我会尝试提供一些一般性的想法,希望其中一些会有用。
如果您有用于连接池的配置资料,请提供。