来自 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 查找或系统环境属性来检索值,我会很高兴。
谁能指出我正确的方向?
谢谢,
埃里克