diff --git a/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/enums/DatabaseType.java b/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/enums/DatabaseType.java index bc66f545..3c8100f1 100644 --- a/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/enums/DatabaseType.java +++ b/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/enums/DatabaseType.java @@ -18,6 +18,8 @@ package top.continew.starter.data.core.enums; import top.continew.starter.data.core.function.ISqlFunction; +import java.io.Serializable; + /** * 数据库类型枚举 * @@ -31,8 +33,8 @@ public enum DatabaseType implements ISqlFunction { */ MYSQL("MySQL") { @Override - public String findInSet() { - return "find_in_set({0}, {1}) <> 0"; + public String findInSet(Serializable value, String set) { + return "find_in_set('%s', %s) <> 0".formatted(value, set); } }, @@ -41,8 +43,8 @@ public enum DatabaseType implements ISqlFunction { */ POSTGRE_SQL("PostgreSQL") { @Override - public String findInSet() { - return "(select position(',{0},' in ','||{1}||',')) <> 0"; + public String findInSet(Serializable value, String set) { + return "(select position(',%s,' in ','||%s||',')) <> 0".formatted(value, set); } },; diff --git a/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/function/ISqlFunction.java b/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/function/ISqlFunction.java index c0eb67da..9f96cc49 100644 --- a/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/function/ISqlFunction.java +++ b/continew-starter-data/continew-starter-data-core/src/main/java/top/continew/starter/data/core/function/ISqlFunction.java @@ -16,6 +16,8 @@ package top.continew.starter.data.core.function; +import java.io.Serializable; + /** * SQL 函数接口 * @@ -27,7 +29,9 @@ public interface ISqlFunction { /** * find_in_set 函数 * + * @param value 值 + * @param set 集合 * @return 函数实现 */ - String findInSet(); + String findInSet(Serializable value, String set); }