|
@@ -17,14 +17,15 @@ package com.baomidou.mybatisplus.generator.config;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.DbType;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
|
|
|
-import com.baomidou.mybatisplus.generator.config.converts.*;
|
|
|
-import com.baomidou.mybatisplus.generator.config.querys.*;
|
|
|
+import com.baomidou.mybatisplus.generator.config.converts.TypeConvertRegistry;
|
|
|
+import com.baomidou.mybatisplus.generator.config.querys.DbQueryRegistry;
|
|
|
import lombok.Data;
|
|
|
import lombok.experimental.Accessors;
|
|
|
|
|
|
import java.sql.Connection;
|
|
|
import java.sql.DriverManager;
|
|
|
import java.sql.SQLException;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
/**
|
|
|
* 数据库配置
|
|
@@ -71,39 +72,10 @@ public class DataSourceConfig {
|
|
|
|
|
|
public IDbQuery getDbQuery() {
|
|
|
if (null == dbQuery) {
|
|
|
- switch (getDbType()) {
|
|
|
- case ORACLE:
|
|
|
- dbQuery = new OracleQuery();
|
|
|
- break;
|
|
|
- case SQL_SERVER:
|
|
|
- dbQuery = new SqlServerQuery();
|
|
|
- break;
|
|
|
- case POSTGRE_SQL:
|
|
|
- dbQuery = new PostgreSqlQuery();
|
|
|
- break;
|
|
|
- case DB2:
|
|
|
- dbQuery = new DB2Query();
|
|
|
- break;
|
|
|
- case MARIADB:
|
|
|
- dbQuery = new MariadbQuery();
|
|
|
- break;
|
|
|
- case H2:
|
|
|
- dbQuery = new H2Query();
|
|
|
- break;
|
|
|
- case SQLITE:
|
|
|
- dbQuery = new SqliteQuery();
|
|
|
- break;
|
|
|
- case DM:
|
|
|
- dbQuery = new DMQuery();
|
|
|
- break;
|
|
|
- case KINGBASE_ES:
|
|
|
- dbQuery = new KingbaseESQuery();
|
|
|
- break;
|
|
|
- default:
|
|
|
- // 默认 MYSQL
|
|
|
- dbQuery = new MySqlQuery();
|
|
|
- break;
|
|
|
- }
|
|
|
+ DbType dbType = getDbType();
|
|
|
+ DbQueryRegistry dbQueryRegistry = new DbQueryRegistry();
|
|
|
+ // 默认 MYSQL
|
|
|
+ dbQuery = Optional.ofNullable(dbQueryRegistry.getDbQuery(dbType)).orElseGet(() -> dbQueryRegistry.getDbQuery(DbType.MYSQL));
|
|
|
}
|
|
|
return dbQuery;
|
|
|
}
|
|
@@ -159,36 +131,10 @@ public class DataSourceConfig {
|
|
|
|
|
|
public ITypeConvert getTypeConvert() {
|
|
|
if (null == typeConvert) {
|
|
|
- switch (getDbType()) {
|
|
|
- case ORACLE:
|
|
|
- typeConvert = new OracleTypeConvert();
|
|
|
- break;
|
|
|
- case SQL_SERVER:
|
|
|
- typeConvert = new SqlServerTypeConvert();
|
|
|
- break;
|
|
|
- case POSTGRE_SQL:
|
|
|
- typeConvert = new PostgreSqlTypeConvert();
|
|
|
- break;
|
|
|
- case DB2:
|
|
|
- typeConvert = new DB2TypeConvert();
|
|
|
- break;
|
|
|
- case SQLITE:
|
|
|
- typeConvert = new SqliteTypeConvert();
|
|
|
- break;
|
|
|
- case DM:
|
|
|
- typeConvert = new DmTypeConvert();
|
|
|
- break;
|
|
|
- case MARIADB:
|
|
|
- typeConvert = new MySqlTypeConvert();
|
|
|
- break;
|
|
|
- case KINGBASE_ES:
|
|
|
- typeConvert = new KingbaseESTypeConvert();
|
|
|
- break;
|
|
|
- default:
|
|
|
- // 默认 MYSQL
|
|
|
- typeConvert = new MySqlTypeConvert();
|
|
|
- break;
|
|
|
- }
|
|
|
+ DbType dbType = getDbType();
|
|
|
+ TypeConvertRegistry typeConvertRegistry = new TypeConvertRegistry();
|
|
|
+ // 默认 MYSQL
|
|
|
+ typeConvert = Optional.ofNullable(typeConvertRegistry.getTypeConvert(dbType)).orElseGet(() -> typeConvertRegistry.getTypeConvert(DbType.MYSQL));
|
|
|
}
|
|
|
return typeConvert;
|
|
|
}
|