在MyBatis中动态切换databaseId

时间:2018-02-16 14:42:55

标签: mybatis spring-mybatis

我正在使用MyBatis Multi DB支持连接到Oracle和PostgreS。 http://www.mybatis.org/mybatis-3/configuration.html#databaseIdProvider

我有一个软件堆栈,最初在Oracle上运行查询。在翻转开关时,我想要相同的软件堆栈在PostgreSQL上运行查询。所以我使用了MyBatis Multi DB支持功能,以便根据供应商运行不同的SQL片段。例如“双重”在PostgreS中不可用,但在Oracle中不可用。

当我翻转开关时, _databaseId 属性仍然分配给Oracle,因此PostgreS SQL片段不会运行。当我重新启动软件堆栈时, _databaseId 属性被分配给PostgreSQL并运行相应的SQL片段。

我的用例是我不想重新启动我的服务以使其运行正确的PostgreSQL查询。我该怎么做才能解决这个问题?

0 个答案:

没有答案
相关问题