判断jdbc连接的数据库类型

问题描述:

有时候,我们的网站需要适配不同的数据库,且可能会同时使用时,我们需要根据不同的连接数据库作出相应代码或不同的查询语句;

解决方式:


/**
 * 判断数据库类型
 * @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没有空格。

你可能感兴趣的:(tip:随手记)