疯狂的狮子li
2022-03-14 7f1356a447d290c186fe047af557e050497e39e4
ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java
@@ -23,7 +23,7 @@
    /**
     * 获取当前数据库类型
     */
    public static DataBaseType getDataBasyType() {
    public static DataBaseType getDataBaseType() {
        DynamicRoutingDataSource ds = (DynamicRoutingDataSource) SpringUtils.getBean(DataSource.class);
        DataSource dataSource = ds.determineDataSource();
        try {
@@ -36,26 +36,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";
    }
}