From 17f0c20242c6ee3d35b9ee8f677d747ed012423c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 02 九月 2022 16:30:20 +0800 Subject: [PATCH] remove 移除maven docker插件 过于老旧功能缺陷大 使用idea自带的docker插件替代 --- ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java | 35 +++++++++++++++++++++++------------ 1 files changed, 23 insertions(+), 12 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java index 3d98def..1960356 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java @@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; import javax.sql.DataSource; +import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; @@ -20,14 +21,15 @@ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class DataBaseHelper { + private static final DynamicRoutingDataSource DS = SpringUtils.getBean(DynamicRoutingDataSource.class); + /** * 鑾峰彇褰撳墠鏁版嵁搴撶被鍨� */ - public static DataBaseType getDataBasyType() { - DynamicRoutingDataSource ds = (DynamicRoutingDataSource) SpringUtils.getBean(DataSource.class); - DataSource dataSource = ds.determineDataSource(); - try { - DatabaseMetaData metaData = dataSource.getConnection().getMetaData(); + public static DataBaseType getDataBaseType() { + DataSource dataSource = DS.determineDataSource(); + try (Connection conn = dataSource.getConnection()) { + DatabaseMetaData metaData = conn.getMetaData(); String databaseProductName = metaData.getDatabaseProductName(); return DataBaseType.find(databaseProductName); } catch (SQLException e) { @@ -36,26 +38,35 @@ } public static boolean isMySql() { - return DataBaseType.MY_SQL == getDataBasyType(); + return DataBaseType.MY_SQL == getDataBaseType(); } public static boolean isOracle() { - return DataBaseType.ORACLE == getDataBasyType(); + return DataBaseType.ORACLE == getDataBaseType(); } public static boolean isPostgerSql() { - return DataBaseType.POSTGRE_SQL == getDataBasyType(); + return DataBaseType.POSTGRE_SQL == getDataBaseType(); } public static boolean isSqlServer() { - return DataBaseType.SQL_SERVER == getDataBasyType(); + return DataBaseType.SQL_SERVER == getDataBaseType(); } public static String findInSet(Object var1, String var2) { - DataBaseType dataBasyType = getDataBasyType(); + DataBaseType dataBasyType = getDataBaseType(); + String var = Convert.toStr(var1); if (dataBasyType == DataBaseType.SQL_SERVER) { - return "charindex(" + Convert.toStr(var1) + ", " + var2 + ") <> 0"; + // charindex(',100,' , ',0,100,101,') <> 0 + return "charindex('," + var + ",' , ','+" + var2 + "+',') <> 0"; + } else if (dataBasyType == DataBaseType.POSTGRE_SQL) { + // (select position(',100,' in ',0,100,101,')) <> 0 + return "(select position('," + var + ",' in ','||" + var2 + "||',')) <> 0"; + } else if (dataBasyType == DataBaseType.ORACLE) { + // instr(',0,100,101,' , ',100,') <> 0 + return "instr(','||" + var2 + "||',' , '," + var + ",') <> 0"; } - return "find_in_set(" + Convert.toStr(var1) + ", " + var2 + ") <> 0"; + // find_in_set(100 , '0,100,101') + return "find_in_set(" + var + " , " + var2 + ") <> 0"; } } -- Gitblit v1.9.3