您的位置:首页 > 数据库

jdbc,jdbcTemplate获取数据库类型

2014-04-12 15:56 645 查看
很多时候,系统需要连接多个数据库处理,或者考虑代码兼容不同数据库的问题。当然是用hibernate无需考虑这些问题,但是如果想只用jdbc就必须考虑这个问题了,因为不同数据库是用的sql语法都不相同。 
那如何确定获取数据库类型呢,在网上搜罗了许久,终于有所收获。如下: 
如果使用的spring的jdbcTemplate,可以这样获取:
DatabaseMetaData md = this.jdbcTemplate.getDataSource().getConnection().getMetaData();
System.out.println(md.getDatabaseProductName());
System.out.println(md.getDatabaseProductVersion());
如果是自己配置的dataSource,可以直接拿到Connection,然后获取DatabaseMetaData,如:

try {
String url = "jdbc:odbc:yourdatabasename";
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String user = "guest";
String password = "guest";

Class.forName(driver);
Connection connection = DriverManager.getConnection(url, user, password);
DatabaseMetaData meta = connection.getMetaData();

System.out.println("We are using " + meta.getDatabaseProductName());
System.out.println("Version is " + meta.getDatabaseProductVersion() );

connection.close();
} catch (Exception e) {
System.err.println(e);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdbc jdbctemplate