如何切换现有DataSource的数据库上下文?

时间:2011-04-12 05:26:58

标签: java sql jdbc datasource

假设我有一个到master数据库的现有DataSource。我现在需要创建一个新数据库,并在该数据库上执行一些DDL。这可能是例如“USE”命令,还是我需要在JDBC URL中创建一个新数据源名称的新数据源?

2 个答案:

答案 0 :(得分:4)

您可以将“USE”命令作为常规JDBC语句运行。

Statement stmt = connection.createStatement();
stmt.execute("USE the_other_db");

依赖于您的DBMS和驱动程序,您也可以使用JDBC API调用setCatalog():

connection.setCatalog("the_other_db")

答案 1 :(得分:1)

USE声明有效,但由于它是有状态的,你必须确保它与后面的声明具有相同连接的一部分。

如果您使用Spring JdbcTemplate而不是直接使用java.sql.Connectionjava.sql.Statement,则可以使用SingleConnectionDataSource