问题描述:
有时候,我们的网站需要适配不同的数据库,且可能会同时使用时,我们需要根据不同的连接数据库作出相应代码或不同的查询语句;
解决方式:
/**
* 判断数据库类型
* @return
* @throws SQLException
*/
public String getDataBaseType() throws SQLException {
//通过driverName是否包含关键字判断
if (connection.getMetaData().getDriverName().toUpperCase()
.indexOf("MYSQL") != -1) {
return "MySql";
} else if (connection.getMetaData().getDriverName().toUpperCase()
.indexOf("SQL SERVER") != -1) {
//sqljdbc与sqljdbc4不同,sqlserver中间有空格
return "SqlServer";
}
return "-1";
}
注意事项:
有时候不同的jdbc获取的DriverName并不相同,例如在sqljdbc4 里SQL SERVER中间是有空格的,而老版本的sqljdbc里DriverName是SQLSERVER没有空格。