add
This commit is contained in:
@ -36,7 +36,7 @@ public enum DataBaseEnum {
|
||||
* PostgreSQL
|
||||
*/
|
||||
POSTGRE_SQL("PostgreSQL",
|
||||
"jdbc:postgresql://localhost:5432/{}?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true",
|
||||
"jdbc:postgresql://{}:{}/mydb?currentSchema={}&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowMultiQueries=true",
|
||||
"org.postgresql.Driver"),
|
||||
|
||||
/**
|
||||
@ -50,17 +50,6 @@ public enum DataBaseEnum {
|
||||
private final String url;
|
||||
private final String driver;
|
||||
|
||||
public static DataBaseEnum find(String databaseProductName) {
|
||||
if (StrUtil.isBlank(databaseProductName)) {
|
||||
return null;
|
||||
}
|
||||
for (DataBaseEnum type : values()) {
|
||||
if (type.getType().equals(databaseProductName)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getDriver(String type) {
|
||||
for (DataBaseEnum dataBaseEnum : values()) {
|
||||
|
@ -23,15 +23,16 @@ public class DatabaseUtil {
|
||||
* @return 处理后的sql
|
||||
*/
|
||||
public static String handleFindInSet(Object var1, String var2) {
|
||||
DataBaseEnum dataBaseType = DataBaseEnum.find(BaseContext.getDatabaseType());
|
||||
String databaseType = BaseContext.getDatabaseType();
|
||||
log.debug("租户ID: [{}], 数据源类型: {}", BaseContext.getTenantId(), databaseType);
|
||||
String var = Convert.toStr(var1);
|
||||
if (dataBaseType == DataBaseEnum.SQL_SERVER) {
|
||||
if (DataBaseEnum.SQL_SERVER.getType().equals(databaseType)) {
|
||||
// charindex(',100,' , ',0,100,101,') <> 0
|
||||
return "charindex('," + var + ",' , ','+" + var2 + "+',') <> 0";
|
||||
} else if (dataBaseType == DataBaseEnum.POSTGRE_SQL) {
|
||||
} else if (DataBaseEnum.POSTGRE_SQL.getType().equals(databaseType)) {
|
||||
// (select position(',100,' in ',0,100,101,')) <> 0
|
||||
return "(select position('," + var + ",' in ','||" + var2 + "||',')) <> 0";
|
||||
} else if (dataBaseType == DataBaseEnum.ORACLE) {
|
||||
} else if (DataBaseEnum.ORACLE.getType().equals(databaseType)) {
|
||||
// instr(',0,100,101,' , ',100,') <> 0
|
||||
return "instr(','||" + var2 + "||',' , '," + var + ",') <> 0";
|
||||
}
|
||||
|
Reference in New Issue
Block a user