jdbc,jdbcTemplate获取数据库类型

转自:http://cqyqing.iteye.com/blog/1846367

很多时候,系统需要连接多个数据库处理,或者考虑代码兼容不同数据库的问题。当然是用hibernate无需考虑这些问题,但是如果想只用jdbc就必须考虑这个问题了,因为不同数据库是用的sql语法都不相同。

那如何确定获取数据库类型呢,在网上搜罗了许久,终于有所收获。如下:
如果使用的spring的jdbcTemplate,可以这样获取:
Java代码   收藏代码
  1. DatabaseMetaData md = this.jdbcTemplate.getDataSource().getConnection().getMetaData();  
  2.         System.out.println(md.getDatabaseProductName());  
  3.         System.out.println(md.getDatabaseProductVersion());  


如果是自己配置的dataSource,可以直接拿到Connection,然后获取DatabaseMetaData,如:
Java代码   收藏代码
  1. try {  
  2.       String url = "jdbc:odbc:yourdatabasename";  
  3.       String driver = "sun.jdbc.odbc.JdbcOdbcDriver";  
  4.       String user = "guest";  
  5.       String password = "guest";  
  6.   
  7.       Class.forName(driver);  
  8.       Connection connection = DriverManager.getConnection(url, user, password);  
  9.       DatabaseMetaData meta = connection.getMetaData();  
  10.   
  11.       System.out.println("We are using " + meta.getDatabaseProductName());  
  12.       System.out.println("Version is " + meta.getDatabaseProductVersion() );  
  13.   
  14.       connection.close();  
  15.     } catch (Exception e) {  
  16.       System.err.println(e);  
  17.     } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值