1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.testor.enums;
import com.baomidou.mybatisplus.annotation.DbType;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum DatabaseIdEnum {
MYSQL("MySQL", "mysql", "com.mysql.cj.jdbc.Driver", DbType.MYSQL),
KINGBASEESV8("KingbaseES", "kingbase", "com.kingbase8.Driver", DbType.KINGBASE_ES),
DM("DM", "dm", "com.mysql.cj.jdbc.Driver", DbType.DM),
GAUSS("Gauss", "gauss", "com.mysql.cj.jdbc.Driver", DbType.GAUSS),
ORACLE("Oracle","oracle","oracle.jdbc.driver.OracleDriver", DbType.ORACLE);
private final String type;
private final String name;
private final String driverClassName;
private final DbType dbType;
public static DatabaseIdEnum getDatabaseIdEnum(String type) {
for (DatabaseIdEnum databaseIdEnum : DatabaseIdEnum.values()) {
if (databaseIdEnum.getType().equals(type)) {
return databaseIdEnum;
}
}
return null;
}
public static DbType getDbTypeByDriver(String driverClassName){
for (DatabaseIdEnum databaseIdEnum : DatabaseIdEnum.values()) {
if (databaseIdEnum.getDriverClassName().equals(driverClassName)) {
return databaseIdEnum.getDbType();
}
}
return null;
}
}