|
|
@@ -18,12 +18,12 @@ import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
/**
|
|
|
* 方言工厂类
|
|
|
- *
|
|
|
+ *
|
|
|
* @author loolly
|
|
|
*
|
|
|
*/
|
|
|
public class DialectFactory {
|
|
|
-
|
|
|
+
|
|
|
/** JDBC 驱动 MySQL */
|
|
|
public static final String DRIVER_MYSQL = "com.mysql.jdbc.Driver";
|
|
|
/** JDBC 驱动 MySQL,在6.X版本中变动驱动类名,且使用SPI机制 */
|
|
|
@@ -50,16 +50,18 @@ public class DialectFactory {
|
|
|
public static final String DRIVER_HSQLDB = "org.hsqldb.jdbc.JDBCDriver";
|
|
|
/** JDBC 驱动 达梦7 */
|
|
|
public static final String DRIVER_DM7 = "dm.jdbc.driver.DmDriver";
|
|
|
-
|
|
|
+ /** JDBC 驱动 人大金仓 */
|
|
|
+ public static final String DRIVER_KINGBASE8 = "com.kingbase8.Driver";
|
|
|
+
|
|
|
private static final Map<DataSource, Dialect> DIALECT_POOL = new ConcurrentHashMap<>();
|
|
|
|
|
|
private DialectFactory() {
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 根据驱动名创建方言<br>
|
|
|
* 驱动名是不分区大小写完全匹配的
|
|
|
- *
|
|
|
+ *
|
|
|
* @param driverName JDBC驱动类名
|
|
|
* @return 方言
|
|
|
*/
|
|
|
@@ -72,7 +74,7 @@ public class DialectFactory {
|
|
|
/**
|
|
|
* 根据驱动名创建方言<br>
|
|
|
* 驱动名是不分区大小写完全匹配的
|
|
|
- *
|
|
|
+ *
|
|
|
* @param driverName JDBC驱动类名
|
|
|
* @return 方言
|
|
|
*/
|
|
|
@@ -98,7 +100,7 @@ public class DialectFactory {
|
|
|
|
|
|
/**
|
|
|
* 通过JDBC URL等信息识别JDBC驱动名
|
|
|
- *
|
|
|
+ *
|
|
|
* @param nameContainsProductInfo 包含数据库标识的字符串
|
|
|
* @return 驱动
|
|
|
*/
|
|
|
@@ -133,11 +135,14 @@ public class DialectFactory {
|
|
|
} else if (nameContainsProductInfo.contains("dm")) {
|
|
|
// 达梦7
|
|
|
driver = DRIVER_DM7;
|
|
|
+ } else if (nameContainsProductInfo.contains("kingbase8")) {
|
|
|
+ // 人大金仓8
|
|
|
+ driver = DRIVER_KINGBASE8;
|
|
|
}
|
|
|
|
|
|
return driver;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 获取共享方言
|
|
|
* @param ds 数据源,每一个数据源对应一个唯一方言
|
|
|
@@ -161,7 +166,7 @@ public class DialectFactory {
|
|
|
|
|
|
/**
|
|
|
* 创建方言
|
|
|
- *
|
|
|
+ *
|
|
|
* @param ds 数据源
|
|
|
* @return 方言
|
|
|
*/
|
|
|
@@ -171,7 +176,7 @@ public class DialectFactory {
|
|
|
|
|
|
/**
|
|
|
* 创建方言
|
|
|
- *
|
|
|
+ *
|
|
|
* @param conn 数据库连接对象
|
|
|
* @return 方言
|
|
|
*/
|