add mysql-driver-6 support.

This commit is contained in:
wenshao
2016-08-07 12:10:23 +08:00
parent 4838786d6a
commit 20a76e45d9
3 changed files with 13 additions and 2 deletions
+1 -1
View File
@@ -475,7 +475,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.3</version>
<version>5.1.39</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -45,6 +45,7 @@ public interface JdbcConstants {
public static final String MYSQL = "mysql";
public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";
public static final String MYSQL_DRIVER_6 = "com.mysql.cj.jdbc.Driver";
public static final String MARIADB = "mariadb";
public static final String MARIADB_DRIVER = "org.mariadb.jdbc.Driver";
@@ -50,6 +50,8 @@ public final class JdbcUtils implements JdbcConstants {
private static final Properties DRIVER_URL_MAPPING = new Properties();
private static Boolean mysql_driver_version_6 = null;
static {
try {
ClassLoader ctxClassLoader = Thread.currentThread().getContextClassLoader();
@@ -364,7 +366,15 @@ public final class JdbcUtils implements JdbcConstants {
if (rawUrl.startsWith("jdbc:derby:")) {
return "org.apache.derby.jdbc.EmbeddedDriver";
} else if (rawUrl.startsWith("jdbc:mysql:")) {
return MYSQL_DRIVER;
if (mysql_driver_version_6 == null) {
mysql_driver_version_6 = Utils.loadClass("com.mysql.cj.jdbc.Driver") != null;
}
if (mysql_driver_version_6) {
return MYSQL_DRIVER_6;
} else {
return MYSQL_DRIVER;
}
} else if (rawUrl.startsWith("jdbc:log4jdbc:")) {
return LOG4JDBC_DRIVER;
} else if (rawUrl.startsWith("jdbc:mariadb:")) {