作为一个MySQL背景的人,我能够在连接URL中设置我想要用于所有SQL查询的默认模式名称。现在我需要访问Oracle数据库。我知道我不能在URL中指定我想要使用的模式,因为用户是正在使用的模式名称。
我意识到我可以使用一行SQL代码:
ALTER SESSION SET CURRENT_SCHEMA=default_schema
该项目使用mybatis 2.3.5作为SQL框架,但我对mybatis完全不熟悉。有没有简单的方法来配置mybatis以实现这一点?我的应用程序是Spring 3应用程序,因此我正在使用Spring DataSourceTransactionManager来管理我的事务。我认为必须让管理器意识到这个要求,以确保在创建新连接时发送命令。
我已经尝试在网上搜索,但我发现大多数示例都将模式名称包含在SqlMaps中的sql查询中,我认为这是不好的做法。
在理想的情况下,模式名称将成为URL的一部分,这样我就可以更改模式名称以适应不同的环境(例如:dev,test,prod等)而不触及代码(即:只在JNDI /应用程序服务器级别进行配置)。如果我可以使用Spring配置值来设置这个值,那么我会很高兴,因为我仍然可以使用JNDI查找或系统环境属性来检索该值。
有人能指导我正确的方向吗?
谢谢,
Eric