| | |
| | | /** |
| | | * 获取当前数据库类型 |
| | | */ |
| | | public static DataBaseType getDataBasyType() { |
| | | public static DataBaseType getDataBaseType() { |
| | | DynamicRoutingDataSource ds = (DynamicRoutingDataSource) SpringUtils.getBean(DataSource.class); |
| | | DataSource dataSource = ds.determineDataSource(); |
| | | try { |
| | |
| | | } |
| | | |
| | | 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"; |
| | | } |
| | | } |