diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 84bde0ddc6..99072b41e4 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -16,7 +16,6 @@ package com.alibaba.druid.pool; import java.sql.Connection; -import java.sql.Driver; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; @@ -214,15 +213,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat this.driverClass = JdbcUtils.getDriverClassName(this.jdbcUrl); } - try { - driver = (Driver) Class.forName(this.driverClass).newInstance(); - } catch (IllegalAccessException e) { - throw new SQLException(e.getMessage(), e); - } catch (InstantiationException e) { - throw new SQLException(e.getMessage(), e); - } catch (ClassNotFoundException e) { - throw new SQLException(e.getMessage(), e); - } + driver = JdbcUtils.createDriver(driverClass); } else { if (this.driverClass == null) { this.driverClass = driver.getClass().getName(); diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index 3e6392f146..6c6ad3c3c7 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -25,6 +25,7 @@ import java.io.StringWriter; import java.net.URL; import java.sql.Connection; import java.sql.Date; +import java.sql.Driver; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; @@ -498,9 +499,21 @@ public final class JdbcUtils { return buf.toString(); } - + public static String toString(java.util.Date date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date); } + + public static Driver createDriver(String driverClassName) throws SQLException { + try { + return (Driver) Class.forName(driverClassName).newInstance(); + } catch (IllegalAccessException e) { + throw new SQLException(e.getMessage(), e); + } catch (InstantiationException e) { + throw new SQLException(e.getMessage(), e); + } catch (ClassNotFoundException e) { + throw new SQLException(e.getMessage(), e); + } + } }