2011-07-12 24 views
1

我在写一个从数据库读取信息的类,它可能是oracle或mysql。 我使用的javax.sql.DataSource和代码,如:不同的<driver-class>对于相同的数据源

ctx = new InitialContext(); 
DataSource ds = (DataSource) ctx.lookup("java:personalDS"); 
Connection conn = ds.getConnection(); 

后,我需要执行一些查询,但他们必须在情况下,我使用Oracle或MySQL DS不同。该XML文件将包含:

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 

<driver-class>com.mysql.jdbc.Driver</driver-class> 

我想从上下文中写类似

if (ds.getDriver().contains("mysql") {...} 
else if (ds.getDriver().contasins("Oracle") {...} 

但getDriver不存在的方法....我也不明白'如何'获取我的资源的驱动程序类属性。

你有什么建议吗?

三江源

回答

0

您也许能够检查数据源类。 AFAIK每个主要驱动程序都有自己的DataSource实现。

0

你可以在某些属性文件中的一些开关,也可以解析包含驱动程序类名来发现什么数据库用于

相关问题