From 39942b28cef9cb2268ff9de18125a3def2905021 Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Wed, 17 Jan 2024 14:21:01 +0800 Subject: [PATCH] ifPresent -> ifExists --- .../MybatisPlusJoinAutoConfiguration.java | 12 +- .../MybatisPlusJoinProperties.java | 6 +- .../MybatisPlusJoinIfExistsConsumer.java | 14 ++ .../MybatisPlusJoinIfPresentConsumer.java | 14 -- ...itional-spring-configuration-metadata.json | 8 +- .../yulichang/config/ConfigProperties.java | 8 +- .../{IfPresentEnum.java => IfExistsEnum.java} | 4 +- .../yulichang/kt/KtAbstractWrapper.java | 24 +-- .../kt/interfaces/CompareIfExists.java | 115 +++++++++++++ .../kt/interfaces/CompareIfPresent.java | 115 ------------- .../query/MPJLambdaQueryWrapper.java | 26 +-- .../yulichang/query/MPJQueryWrapper.java | 26 +-- .../query/interfaces/CompareIfExists.java | 151 ++++++++++++++++++ .../query/interfaces/CompareIfPresent.java | 151 ------------------ .../wrapper/JoinAbstractWrapper.java | 26 +-- .../yulichang/wrapper/MPJLambdaWrapper.java | 12 +- ...dEnum.java => IfExistsSqlKeyWordEnum.java} | 2 +- .../wrapper/interfaces/CompareIfExists.java | 114 +++++++++++++ .../wrapper/interfaces/CompareIfPresent.java | 114 ------------- .../interfaces/CompareStrIfExists.java | 65 ++++++++ .../interfaces/CompareStrIfPresent.java | 65 -------- .../yulichang/wrapper/interfaces/Query.java | 8 +- .../test/join/m/CustomWrapperTest.java | 6 +- .../{IfPresentTest.java => IfExistsTest.java} | 72 ++++----- .../yulichang/test/kt/m/CustomWrapperTest.kt | 6 +- 25 files changed, 582 insertions(+), 582 deletions(-) create mode 100644 mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfExistsConsumer.java delete mode 100644 mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfPresentConsumer.java rename mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/{IfPresentEnum.java => IfExistsEnum.java} (89%) create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/CompareIfExists.java delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/CompareIfPresent.java create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/query/interfaces/CompareIfExists.java delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/query/interfaces/CompareIfPresent.java rename mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/enums/{IfPresentSqlKeyWordEnum.java => IfExistsSqlKeyWordEnum.java} (87%) create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareIfExists.java delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareIfPresent.java create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfExists.java delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfPresent.java rename mybatis-plus-join-test/test-join/src/test/java/com/github/yulichang/test/join/m/{IfPresentTest.java => IfExistsTest.java} (53%) diff --git a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinAutoConfiguration.java b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinAutoConfiguration.java index 66bf5c0..37a17c1 100644 --- a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinAutoConfiguration.java +++ b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinAutoConfiguration.java @@ -3,7 +3,7 @@ package com.github.yulichang.autoconfigure; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusLanguageDriverAutoConfiguration; import com.baomidou.mybatisplus.core.injector.ISqlInjector; import com.github.yulichang.autoconfigure.conditional.JoinSqlInjectorCondition; -import com.github.yulichang.autoconfigure.consumer.MybatisPlusJoinIfPresentConsumer; +import com.github.yulichang.autoconfigure.consumer.MybatisPlusJoinIfExistsConsumer; import com.github.yulichang.autoconfigure.consumer.MybatisPlusJoinPropertiesConsumer; import com.github.yulichang.config.ConfigProperties; import com.github.yulichang.config.MPJInterceptorConfig; @@ -11,7 +11,7 @@ import com.github.yulichang.extension.mapping.config.MappingConfig; import com.github.yulichang.injector.MPJSqlInjector; import com.github.yulichang.interceptor.MPJInterceptor; import com.github.yulichang.toolkit.SpringContentUtils; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.slf4j.Logger; @@ -63,7 +63,7 @@ public class MybatisPlusJoinAutoConfiguration { public MybatisPlusJoinAutoConfiguration(MybatisPlusJoinProperties properties, ObjectProvider propertiesConsumers, - ObjectProvider ifPresentConsumers) { + ObjectProvider IfExistsConsumers) { this.properties = Optional.ofNullable(propertiesConsumers.getIfAvailable()).map(c -> c.config(properties)).orElse(properties); ConfigProperties.banner = this.properties.getBanner(); ConfigProperties.subTableLogic = this.properties.getSubTableLogic(); @@ -72,9 +72,9 @@ public class MybatisPlusJoinAutoConfiguration { ConfigProperties.joinPrefix = this.properties.getJoinPrefix(); ConfigProperties.logicDelType = this.properties.getLogicDelType(); ConfigProperties.mappingMaxCount = this.properties.getMappingMaxCount(); - ConfigProperties.ifPresent = Optional.ofNullable(ifPresentConsumers.getIfAvailable()) - .map(m -> (BiPredicate) m) - .orElse((val, key) -> this.properties.getIfPresent().test(val)); + ConfigProperties.ifExists = Optional.ofNullable(IfExistsConsumers.getIfAvailable()) + .map(m -> (BiPredicate) m) + .orElse((val, key) -> this.properties.getIfExists().test(val)); info("mybatis plus join properties config complete"); } diff --git a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinProperties.java b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinProperties.java index 5948c63..4713894 100644 --- a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinProperties.java +++ b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/MybatisPlusJoinProperties.java @@ -1,6 +1,6 @@ package com.github.yulichang.autoconfigure; -import com.github.yulichang.config.enums.IfPresentEnum; +import com.github.yulichang.config.enums.IfExistsEnum; import com.github.yulichang.config.enums.LogicDelTypeEnum; import lombok.Data; import lombok.experimental.Accessors; @@ -58,7 +58,7 @@ public class MybatisPlusJoinProperties { private String subQueryAlias = "st"; /** - * Wrapper ifPresent 判断策略 + * Wrapper IfExists 判断策略 *

* NOT_NULL 非null *

@@ -66,5 +66,5 @@ public class MybatisPlusJoinProperties { *

* NOT_BLANK 非空白字符串 例: "" -> false, " " -> false, "\r" -> false, "abc" -> true ... */ - private IfPresentEnum ifPresent = IfPresentEnum.NOT_EMPTY; + private IfExistsEnum IfExists = IfExistsEnum.NOT_EMPTY; } diff --git a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfExistsConsumer.java b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfExistsConsumer.java new file mode 100644 index 0000000..aa200d5 --- /dev/null +++ b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfExistsConsumer.java @@ -0,0 +1,14 @@ +package com.github.yulichang.autoconfigure.consumer; + +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; + +import java.util.function.BiPredicate; + +/** + * 自定义IfExists策略 + * + * @author yulichang + * @since 1.4.9 + */ +public interface MybatisPlusJoinIfExistsConsumer extends BiPredicate { +} diff --git a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfPresentConsumer.java b/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfPresentConsumer.java deleted file mode 100644 index d5c4fe2..0000000 --- a/mybatis-plus-join-boot-starter/src/main/java/com/github/yulichang/autoconfigure/consumer/MybatisPlusJoinIfPresentConsumer.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.github.yulichang.autoconfigure.consumer; - -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; - -import java.util.function.BiPredicate; - -/** - * 自定义IfPresent策略 - * - * @author yulichang - * @since 1.4.9 - */ -public interface MybatisPlusJoinIfPresentConsumer extends BiPredicate { -} diff --git a/mybatis-plus-join-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/mybatis-plus-join-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json index b5e4f71..5dd7d84 100644 --- a/mybatis-plus-join-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/mybatis-plus-join-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -57,10 +57,10 @@ "description": "子查询表别名." }, { - "name": "mybatis-plus-join.if-present", - "defaultValue": "com.github.yulichang.config.enums.IfPresentEnum.NOT_EMPTY", - "type": "com.github.yulichang.config.enums.IfPresentEnum", - "description": "IfPresent方法判断策略,如需自定义请用@Bean形式MybatisPlusJoinIfPresentConsumer." + "name": "mybatis-plus-join.if-exist", + "defaultValue": "com.github.yulichang.config.enums.IfExistsEnum.NOT_EMPTY", + "type": "com.github.yulichang.config.enums.IfExistsEnum", + "description": "IfExists方法判断策略,如需自定义请用@Bean形式MybatisPlusJoinIfExistsConsumer." } ] } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java index d2e07ba..3aa43a6 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java @@ -2,9 +2,9 @@ package com.github.yulichang.config; import com.github.yulichang.adapter.AdapterHelper; import com.github.yulichang.adapter.base.ITableInfoAdapter; -import com.github.yulichang.config.enums.IfPresentEnum; +import com.github.yulichang.config.enums.IfExistsEnum; import com.github.yulichang.config.enums.LogicDelTypeEnum; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import java.util.function.BiPredicate; @@ -51,7 +51,7 @@ public class ConfigProperties { */ public static String subQueryAlias = "st"; /** - * Wrapper ifPresent 判断策略 + * Wrapper IfExists 判断策略 *

* NOT_NULL 非null *

@@ -59,5 +59,5 @@ public class ConfigProperties { *

* NOT_BLANK 非空白字符串 例: "" -> false, " " -> false, "\r" -> false, "abc" -> true ... */ - public static BiPredicate ifPresent = (val, key) -> IfPresentEnum.NOT_EMPTY.test(val); + public static BiPredicate ifExists = (val, key) -> IfExistsEnum.NOT_EMPTY.test(val); } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfPresentEnum.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfExistsEnum.java similarity index 89% rename from mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfPresentEnum.java rename to mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfExistsEnum.java index 913aa74..c5e3a97 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfPresentEnum.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/enums/IfExistsEnum.java @@ -11,7 +11,7 @@ import java.util.function.Predicate; * @author yulichang * @since 1.4.9 */ -public enum IfPresentEnum implements Predicate { +public enum IfExistsEnum implements Predicate { /** * 非null @@ -28,7 +28,7 @@ public enum IfPresentEnum implements Predicate { private final Predicate predicate; - IfPresentEnum(Predicate predicate) { + IfExistsEnum(Predicate predicate) { this.predicate = predicate; } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java index ed11efd..b3b6c45 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils; import com.baomidou.mybatisplus.core.toolkit.sql.StringEscape; import com.github.yulichang.config.ConfigProperties; -import com.github.yulichang.kt.interfaces.CompareIfPresent; +import com.github.yulichang.kt.interfaces.CompareIfExists; import com.github.yulichang.kt.interfaces.Func; import com.github.yulichang.kt.interfaces.OnCompare; import com.github.yulichang.toolkit.KtUtils; @@ -20,9 +20,9 @@ import com.github.yulichang.toolkit.MPJSqlInjectionUtils; import com.github.yulichang.toolkit.Ref; import com.github.yulichang.toolkit.TableList; import com.github.yulichang.toolkit.sql.SqlScriptUtils; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import com.github.yulichang.wrapper.enums.PrefixEnum; -import com.github.yulichang.wrapper.interfaces.CompareStrIfPresent; +import com.github.yulichang.wrapper.interfaces.CompareStrIfExists; import com.github.yulichang.wrapper.interfaces.FuncStr; import com.github.yulichang.wrapper.interfaces.Join; import kotlin.reflect.KProperty; @@ -47,8 +47,8 @@ import static java.util.stream.Collectors.joining; */ @SuppressWarnings({"unused", "unchecked", "DuplicatedCode"}) public abstract class KtAbstractWrapper> extends Wrapper - implements CompareIfPresent, Nested, Join, Func, OnCompare, - CompareStrIfPresent, FuncStr { + implements CompareIfExists, Nested, Join, Func, OnCompare, + CompareStrIfExists, FuncStr { /** * 占位符 @@ -125,10 +125,10 @@ public abstract class KtAbstractWrapper ifPresent = ConfigProperties.ifPresent; + protected BiPredicate ifExists = ConfigProperties.ifExists; @Override public T getEntity() { @@ -181,13 +181,13 @@ public abstract class KtAbstractWrapper ifPresent) { - this.ifPresent = ifPresent; + public Children setIfExists(BiPredicate IfExists) { + this.ifExists = IfExists; return typedThis; } - public Children setIfPresent(Predicate ifPresent) { - this.ifPresent = (o, k) -> ifPresent.test(o); + public Children setIfExists(Predicate IfExists) { + this.ifExists = (o, k) -> IfExists.test(o); return typedThis; } @@ -659,7 +659,7 @@ public abstract class KtAbstractWrapper extends Compare { + + BiPredicate getIfExists(); + + default Children eqIfExists(KProperty column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), null, column, val); + } + + default Children eqIfExists(String alias, KProperty column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), alias, column, val); + } + + default Children neIfExists(KProperty column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), null, column, val); + } + + default Children neIfExists(String alias, KProperty column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), alias, column, val); + } + + default Children gtIfExists(KProperty column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), null, column, val); + } + + default Children gtIfExists(String alias, KProperty column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), alias, column, val); + } + + + default Children geIfExists(KProperty column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), null, column, val); + } + + default Children geIfExists(String alias, KProperty column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), alias, column, val); + } + + default Children ltIfExists(KProperty column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), null, column, val); + } + + default Children ltIfExists(String alias, KProperty column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), alias, column, val); + } + + default Children leIfExists(KProperty column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), null, column, val); + } + + default Children leIfExists(String alias, KProperty column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), alias, column, val); + } + + default Children likeIfExists(KProperty column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), null, column, val); + } + + default Children likeIfExists(String alisa, KProperty column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), alisa, column, val); + } + + default Children notLikeIfExists(KProperty column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), null, column, val); + } + + default Children notLikeIfExists(String alias, KProperty column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), alias, column, val); + } + + default Children likeLeftIfExists(KProperty column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), null, column, val); + } + + default Children likeLeftIfExists(String alias, KProperty column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), alias, column, val); + } + + default Children notLikeLeftIfExists(KProperty column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), null, column, val); + } + + default Children notLikeLeftIfExists(String alias, KProperty column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), alias, column, val); + } + + default Children likeRightIfExists(KProperty column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), null, column, val); + } + + default Children likeRightIfExists(String alias, KProperty column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), alias, column, val); + } + + default Children notLikeRightIfExists(KProperty column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), null, column, val); + } + + default Children notLikeRightIfExists(String alias, KProperty column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), alias, column, val); + } +} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/CompareIfPresent.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/CompareIfPresent.java deleted file mode 100644 index ab1a0a6..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/CompareIfPresent.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.github.yulichang.kt.interfaces; - -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; -import kotlin.reflect.KProperty; - -import java.util.function.BiPredicate; - -/** - * ifPresent - * - * @author yulichang - * @since 1.4.9 - */ -@SuppressWarnings("unused") -public interface CompareIfPresent extends Compare { - - BiPredicate getIfPresent(); - - default Children eqIfPresent(KProperty column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), null, column, val); - } - - default Children eqIfPresent(String alias, KProperty column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), alias, column, val); - } - - default Children neIfPresent(KProperty column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), null, column, val); - } - - default Children neIfPresent(String alias, KProperty column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), alias, column, val); - } - - default Children gtIfPresent(KProperty column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), null, column, val); - } - - default Children gtIfPresent(String alias, KProperty column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), alias, column, val); - } - - - default Children geIfPresent(KProperty column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), null, column, val); - } - - default Children geIfPresent(String alias, KProperty column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), alias, column, val); - } - - default Children ltIfPresent(KProperty column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), null, column, val); - } - - default Children ltIfPresent(String alias, KProperty column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), alias, column, val); - } - - default Children leIfPresent(KProperty column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), null, column, val); - } - - default Children leIfPresent(String alias, KProperty column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), alias, column, val); - } - - default Children likeIfPresent(KProperty column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), null, column, val); - } - - default Children likeIfPresent(String alisa, KProperty column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), alisa, column, val); - } - - default Children notLikeIfPresent(KProperty column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), null, column, val); - } - - default Children notLikeIfPresent(String alias, KProperty column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), alias, column, val); - } - - default Children likeLeftIfPresent(KProperty column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), null, column, val); - } - - default Children likeLeftIfPresent(String alias, KProperty column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), alias, column, val); - } - - default Children notLikeLeftIfPresent(KProperty column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), null, column, val); - } - - default Children notLikeLeftIfPresent(String alias, KProperty column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), alias, column, val); - } - - default Children likeRightIfPresent(KProperty column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), null, column, val); - } - - default Children likeRightIfPresent(String alias, KProperty column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), alias, column, val); - } - - default Children notLikeRightIfPresent(KProperty column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), null, column, val); - } - - default Children notLikeRightIfPresent(String alias, KProperty column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), alias, column, val); - } -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 97f880d..d03e725 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -9,12 +9,12 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.github.yulichang.config.ConfigProperties; -import com.github.yulichang.query.interfaces.CompareIfPresent; +import com.github.yulichang.query.interfaces.CompareIfExists; import com.github.yulichang.query.interfaces.StringJoin; import com.github.yulichang.toolkit.Asserts; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.toolkit.ThrowOptional; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import lombok.Getter; import java.io.UnsupportedEncodingException; @@ -36,7 +36,7 @@ import java.util.stream.Collectors; @SuppressWarnings("unused") public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper> implements Query, T, SFunction>, StringJoin, T>, - CompareIfPresent, SFunction> { + CompareIfExists, SFunction> { /** * 查询字段 @@ -78,7 +78,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper tableNameFunc; @Getter - private BiPredicate ifPresent = ConfigProperties.ifPresent; + private BiPredicate ifExists = ConfigProperties.ifExists; /** * 不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity) @@ -94,7 +94,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper paramNameValuePairs, MergeSegments mergeSegments, SharedString lastSql, SharedString sqlComment, SharedString sqlFirst, List selectColumns, List ignoreColumns, boolean selectDistinct, - BiPredicate ifPresent) { + BiPredicate IfExists) { super.setEntity(entity); setEntityClass(entityClass); this.paramNameSeq = paramNameSeq; @@ -108,7 +108,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper extends AbstractLambdaWrapper stringQuery() { return new MPJQueryWrapper<>(getEntity(), getEntityClass(), paramNameSeq, paramNameValuePairs, expression, sqlSelect, from, lastSql, sqlComment, sqlFirst, selectColumns, ignoreColumns, - selectDistinct, ifPresent); + selectDistinct, ifExists); } @Override @@ -337,13 +337,13 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper setIfPresent(BiPredicate ifPresent) { - this.ifPresent = ifPresent; + public MPJLambdaQueryWrapper setIfExists(BiPredicate IfExists) { + this.ifExists = IfExists; return typedThis; } - public MPJLambdaQueryWrapper setIfPresent(Predicate ifPresent) { - this.ifPresent = (o, k) -> ifPresent.test(o); + public MPJLambdaQueryWrapper setIfExists(Predicate IfExists) { + this.ifExists = (o, k) -> IfExists.test(o); return typedThis; } @@ -355,7 +355,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper instance() { return new MPJLambdaQueryWrapper<>(getEntity(), getEntityClass(), null, null, paramNameSeq, paramNameValuePairs, new MergeSegments(), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), - null, null, selectDistinct, ifPresent); + null, null, selectDistinct, ifExists); } @Override @@ -391,7 +391,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper extends AbstractWrapper> implements Query, T, String>, StringJoin, T>, Chain, - CompareIfPresent, String> { + CompareIfExists, String> { /** * 查询字段 @@ -91,7 +91,7 @@ public class MPJQueryWrapper extends AbstractWrapper ifPresent = ConfigProperties.ifPresent; + private BiPredicate ifExists = ConfigProperties.ifExists; public MPJQueryWrapper() { @@ -124,7 +124,7 @@ public class MPJQueryWrapper extends AbstractWrapper selectColumns, List ignoreColumns, boolean selectDistinct, - BiPredicate ifPresent) { + BiPredicate IfExists) { super.setEntity(entity); setEntityClass(entityClass); this.paramNameSeq = paramNameSeq; @@ -138,7 +138,7 @@ public class MPJQueryWrapper extends AbstractWrapper extends AbstractWrapper setIfPresent(BiPredicate ifPresent) { - this.ifPresent = ifPresent; + public MPJQueryWrapper setIfExists(BiPredicate IfExists) { + this.ifExists = IfExists; return this; } - public MPJQueryWrapper setIfPresent(Predicate ifPresent) { - this.ifPresent = (o, k) -> ifPresent.test(o); + public MPJQueryWrapper setIfExists(Predicate IfExists) { + this.ifExists = (o, k) -> IfExists.test(o); return this; } @@ -354,7 +354,7 @@ public class MPJQueryWrapper extends AbstractWrapper lambda() { return new MPJLambdaQueryWrapper<>(getEntity(), getEntityClass(), from, sqlSelect, paramNameSeq, paramNameValuePairs, - expression, lastSql, sqlComment, getSqlFirstField(), selectColumns, ignoreColumns, selectDistinct, ifPresent); + expression, lastSql, sqlComment, getSqlFirstField(), selectColumns, ignoreColumns, selectDistinct, ifExists); } @Override @@ -391,7 +391,7 @@ public class MPJQueryWrapper extends AbstractWrapper instance() { return new MPJQueryWrapper<>(getEntity(), getEntityClass(), paramNameSeq, paramNameValuePairs, new MergeSegments(), null, null, SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), - null, null, selectDistinct, ifPresent); + null, null, selectDistinct, ifExists); } @@ -402,7 +402,7 @@ public class MPJQueryWrapper extends AbstractWrapper比较值

+ * + * @author yulichang + * @since 1.4.9 + */ +@SuppressWarnings("unused") +public interface CompareIfExists extends Compare { + + BiPredicate getIfExists(); + + /** + * 等于 = + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children eqIfExists(R column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), column, val); + } + + /** + * 不等于 <> + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children neIfExists(R column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), column, val); + } + + /** + * 大于 > + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children gtIfExists(R column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), column, val); + } + + /** + * 大于等于 >= + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children geIfExists(R column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), column, val); + } + + /** + * 小于 < + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children ltIfExists(R column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), column, val); + } + + /** + * 小于等于 <= + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children leIfExists(R column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), column, val); + } + + /** + * LIKE '%值%' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children likeIfExists(R column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), column, val); + } + + /** + * NOT LIKE '%值%' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children notLikeIfExists(R column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), column, val); + } + + /** + * NOT LIKE '%值' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children notLikeLeftIfExists(R column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), column, val); + } + + /** + * NOT LIKE '值%' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children notLikeRightIfExists(R column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), column, val); + } + + /** + * LIKE '%值' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children likeLeftIfExists(R column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), column, val); + } + + /** + * LIKE '值%' + * + * @param column 字段 + * @param val 值 + * @return children + */ + default Children likeRightIfExists(R column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), column, val); + } +} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/interfaces/CompareIfPresent.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/interfaces/CompareIfPresent.java deleted file mode 100644 index 06b9066..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/interfaces/CompareIfPresent.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.github.yulichang.query.interfaces; - -import com.baomidou.mybatisplus.core.conditions.interfaces.Compare; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; - -import java.util.function.BiPredicate; - -/** - * 查询条件封装 - *

比较值

- * - * @author yulichang - * @since 1.4.9 - */ -@SuppressWarnings("unused") -public interface CompareIfPresent extends Compare { - - BiPredicate getIfPresent(); - - /** - * 等于 = - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children eqIfPresent(R column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), column, val); - } - - /** - * 不等于 <> - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children neIfPresent(R column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), column, val); - } - - /** - * 大于 > - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children gtIfPresent(R column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), column, val); - } - - /** - * 大于等于 >= - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children geIfPresent(R column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), column, val); - } - - /** - * 小于 < - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children ltIfPresent(R column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), column, val); - } - - /** - * 小于等于 <= - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children leIfPresent(R column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), column, val); - } - - /** - * LIKE '%值%' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children likeIfPresent(R column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), column, val); - } - - /** - * NOT LIKE '%值%' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children notLikeIfPresent(R column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), column, val); - } - - /** - * NOT LIKE '%值' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children notLikeLeftIfPresent(R column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), column, val); - } - - /** - * NOT LIKE '值%' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children notLikeRightIfPresent(R column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), column, val); - } - - /** - * LIKE '%值' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children likeLeftIfPresent(R column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), column, val); - } - - /** - * LIKE '值%' - * - * @param column 字段 - * @param val 值 - * @return children - */ - default Children likeRightIfPresent(R column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), column, val); - } -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractWrapper.java index 785c690..e0f34de 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractWrapper.java @@ -18,7 +18,7 @@ import com.github.yulichang.toolkit.MPJSqlInjectionUtils; import com.github.yulichang.toolkit.Ref; import com.github.yulichang.toolkit.TableList; import com.github.yulichang.toolkit.sql.SqlScriptUtils; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import com.github.yulichang.wrapper.enums.PrefixEnum; import com.github.yulichang.wrapper.interfaces.*; import lombok.Getter; @@ -42,8 +42,8 @@ import static java.util.stream.Collectors.joining; */ @SuppressWarnings({"unchecked", "unused", "DuplicatedCode"}) public abstract class JoinAbstractWrapper> extends Wrapper - implements CompareIfPresent, Nested, Join, Func, OnCompare, - CompareStrIfPresent, FuncStr { + implements CompareIfExists, Nested, Join, Func, OnCompare, + CompareStrIfExists, FuncStr { /** * 占位符 @@ -120,10 +120,10 @@ public abstract class JoinAbstractWrapper ifPresent = ConfigProperties.ifPresent; + protected BiPredicate ifExists = ConfigProperties.ifExists; @Override public T getEntity() { @@ -176,20 +176,20 @@ public abstract class JoinAbstractWrapper ifPresent) { - this.ifPresent = ifPresent; + public Children setIfExists(BiPredicate IfExists) { + this.ifExists = IfExists; return typedThis; } /** - * 设置 ifPresent - * .ifPresent(val -> val != null && StringUtils.isNotBlank(val)) + * 设置 IfExists + * .IfExists(val -> val != null && StringUtils.isNotBlank(val)) * - * @param ifPresent 判断 + * @param IfExists 判断 * @return Children */ - public Children setIfPresent(Predicate ifPresent) { - this.ifPresent = (obj, key) -> ifPresent.test(obj); + public Children setIfExists(Predicate IfExists) { + this.ifExists = (obj, key) -> IfExists.test(obj); return typedThis; } @@ -773,7 +773,7 @@ public abstract class JoinAbstractWrapper extends JoinAbstractLambdaWrapper paramNameValuePairs, MergeSegments mergeSegments, SharedString paramAlias, SharedString lastSql, SharedString sqlComment, SharedString sqlFirst, TableList tableList, Integer index, String keyWord, Class joinClass, String tableName, - BiPredicate ifPresent) { + BiPredicate IfExists) { super.setEntity(entity); super.setEntityClass(entityClass); this.paramNameSeq = paramNameSeq; @@ -142,7 +142,7 @@ public class MPJLambdaWrapper extends JoinAbstractLambdaWrapper extends JoinAbstractLambdaWrapper wrapper = new MPJLambdaWrapper(null, clazz, SharedString.emptyString(), paramNameSeq, paramNameValuePairs, new MergeSegments(), new SharedString(this.paramAlias .getStringValue()), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), - new TableList(), null, null, null, null, ifPresent) { + new TableList(), null, null, null, null, ifExists) { }; wrapper.tableList.setAlias(st); wrapper.tableList.setRootClass(clazz); @@ -409,7 +409,7 @@ public class MPJLambdaWrapper extends JoinAbstractLambdaWrapper instance(Integer index, String keyWord, Class joinClass, String tableName) { return new MPJLambdaWrapper<>(getEntity(), getEntityClass(), null, paramNameSeq, paramNameValuePairs, new MergeSegments(), this.paramAlias, SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), - this.tableList, index, keyWord, joinClass, tableName, ifPresent); + this.tableList, index, keyWord, joinClass, tableName, ifExists); } @Override @@ -422,6 +422,6 @@ public class MPJLambdaWrapper extends JoinAbstractLambdaWrapper extends Compare { + + BiPredicate getIfExists(); + + default Children eqIfExists(SFunction column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), null, column, val); + } + + default Children eqIfExists(String alias, SFunction column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), alias, column, val); + } + + default Children neIfExists(SFunction column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), null, column, val); + } + + default Children neIfExists(String alias, SFunction column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), alias, column, val); + } + + default Children gtIfExists(SFunction column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), null, column, val); + } + + default Children gtIfExists(String alias, SFunction column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), alias, column, val); + } + + default Children geIfExists(SFunction column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), null, column, val); + } + + default Children geIfExists(String alias, SFunction column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), alias, column, val); + } + + default Children ltIfExists(SFunction column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), null, column, val); + } + + default Children ltIfExists(String alias, SFunction column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), alias, column, val); + } + + default Children leIfExists(SFunction column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), null, column, val); + } + + default Children leIfExists(String alias, SFunction column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), alias, column, val); + } + + default Children likeIfExists(SFunction column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), null, column, val); + } + + default Children likeIfExists(String alias, SFunction column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), alias, column, val); + } + + default Children notLikeIfExists(SFunction column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), null, column, val); + } + + default Children notLikeIfExists(String alias, SFunction column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), alias, column, val); + } + + default Children likeLeftIfExists(SFunction column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), null, column, val); + } + + default Children likeLeftIfExists(String alias, SFunction column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), alias, column, val); + } + + default Children notLikeLeftIfExists(SFunction column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), null, column, val); + } + + default Children notLikeLeftIfExists(String alias, SFunction column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), alias, column, val); + } + + default Children likeRightIfExists(SFunction column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), null, column, val); + } + + default Children likeRightIfExists(String alias, SFunction column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), alias, column, val); + } + + default Children notLikeRightIfExists(SFunction column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), null, column, val); + } + + default Children notLikeRightIfExists(String alias, SFunction column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), alias, column, val); + } +} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareIfPresent.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareIfPresent.java deleted file mode 100644 index 28c493f..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareIfPresent.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.github.yulichang.wrapper.interfaces; - -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; - -import java.util.function.BiPredicate; - -/** - * {@link com.baomidou.mybatisplus.core.conditions.interfaces.Compare} - * - * @author yulichang - * @since 1.4.9 - */ -@SuppressWarnings("unused") -public interface CompareIfPresent extends Compare { - - BiPredicate getIfPresent(); - - default Children eqIfPresent(SFunction column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), null, column, val); - } - - default Children eqIfPresent(String alias, SFunction column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), alias, column, val); - } - - default Children neIfPresent(SFunction column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), null, column, val); - } - - default Children neIfPresent(String alias, SFunction column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), alias, column, val); - } - - default Children gtIfPresent(SFunction column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), null, column, val); - } - - default Children gtIfPresent(String alias, SFunction column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), alias, column, val); - } - - default Children geIfPresent(SFunction column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), null, column, val); - } - - default Children geIfPresent(String alias, SFunction column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), alias, column, val); - } - - default Children ltIfPresent(SFunction column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), null, column, val); - } - - default Children ltIfPresent(String alias, SFunction column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), alias, column, val); - } - - default Children leIfPresent(SFunction column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), null, column, val); - } - - default Children leIfPresent(String alias, SFunction column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), alias, column, val); - } - - default Children likeIfPresent(SFunction column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), null, column, val); - } - - default Children likeIfPresent(String alias, SFunction column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), alias, column, val); - } - - default Children notLikeIfPresent(SFunction column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), null, column, val); - } - - default Children notLikeIfPresent(String alias, SFunction column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), alias, column, val); - } - - default Children likeLeftIfPresent(SFunction column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), null, column, val); - } - - default Children likeLeftIfPresent(String alias, SFunction column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), alias, column, val); - } - - default Children notLikeLeftIfPresent(SFunction column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), null, column, val); - } - - default Children notLikeLeftIfPresent(String alias, SFunction column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), alias, column, val); - } - - default Children likeRightIfPresent(SFunction column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), null, column, val); - } - - default Children likeRightIfPresent(String alias, SFunction column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), alias, column, val); - } - - default Children notLikeRightIfPresent(SFunction column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), null, column, val); - } - - default Children notLikeRightIfPresent(String alias, SFunction column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), alias, column, val); - } -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfExists.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfExists.java new file mode 100644 index 0000000..3a2b0b0 --- /dev/null +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfExists.java @@ -0,0 +1,65 @@ +package com.github.yulichang.wrapper.interfaces; + +import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; + +import java.util.function.BiPredicate; + +/** + * {@link com.baomidou.mybatisplus.core.conditions.interfaces.Compare} + * + * @author yulichang + * @since 1.4.9 + */ +@SuppressWarnings("unused") +public interface CompareStrIfExists extends CompareStr { + + BiPredicate getIfExists(); + + default Children eqIfExists(R column, Object val) { + return eq(getIfExists().test(val, IfExistsSqlKeyWordEnum.EQ), column, val); + } + + default Children neIfExists(R column, Object val) { + return ne(getIfExists().test(val, IfExistsSqlKeyWordEnum.NE), column, val); + } + + default Children gtIfExists(R column, Object val) { + return gt(getIfExists().test(val, IfExistsSqlKeyWordEnum.GT), column, val); + } + + default Children geIfExists(R column, Object val) { + return ge(getIfExists().test(val, IfExistsSqlKeyWordEnum.GE), column, val); + } + + default Children ltIfExists(R column, Object val) { + return lt(getIfExists().test(val, IfExistsSqlKeyWordEnum.LT), column, val); + } + + default Children leIfExists(R column, Object val) { + return le(getIfExists().test(val, IfExistsSqlKeyWordEnum.LE), column, val); + } + + default Children likeIfExists(R column, Object val) { + return like(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE), column, val); + } + + default Children notLikeIfExists(R column, Object val) { + return notLike(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE), column, val); + } + + default Children likeLeftIfExists(R column, Object val) { + return likeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_LEFT), column, val); + } + + default Children likeRightIfExists(R column, Object val) { + return likeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.LIKE_RIGHT), column, val); + } + + default Children notLikeLeftIfExists(R column, Object val) { + return notLikeLeft(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_LEFT), column, val); + } + + default Children notLikeRightIfExists(R column, Object val) { + return notLikeRight(getIfExists().test(val, IfExistsSqlKeyWordEnum.NOT_LIKE_RIGHT), column, val); + } +} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfPresent.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfPresent.java deleted file mode 100644 index 04b77fd..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/CompareStrIfPresent.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.github.yulichang.wrapper.interfaces; - -import com.github.yulichang.wrapper.enums.IfPresentSqlKeyWordEnum; - -import java.util.function.BiPredicate; - -/** - * {@link com.baomidou.mybatisplus.core.conditions.interfaces.Compare} - * - * @author yulichang - * @since 1.4.9 - */ -@SuppressWarnings("unused") -public interface CompareStrIfPresent extends CompareStr { - - BiPredicate getIfPresent(); - - default Children eqIfPresent(R column, Object val) { - return eq(getIfPresent().test(val, IfPresentSqlKeyWordEnum.EQ), column, val); - } - - default Children neIfPresent(R column, Object val) { - return ne(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NE), column, val); - } - - default Children gtIfPresent(R column, Object val) { - return gt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GT), column, val); - } - - default Children geIfPresent(R column, Object val) { - return ge(getIfPresent().test(val, IfPresentSqlKeyWordEnum.GE), column, val); - } - - default Children ltIfPresent(R column, Object val) { - return lt(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LT), column, val); - } - - default Children leIfPresent(R column, Object val) { - return le(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LE), column, val); - } - - default Children likeIfPresent(R column, Object val) { - return like(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE), column, val); - } - - default Children notLikeIfPresent(R column, Object val) { - return notLike(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE), column, val); - } - - default Children likeLeftIfPresent(R column, Object val) { - return likeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_LEFT), column, val); - } - - default Children likeRightIfPresent(R column, Object val) { - return likeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.LIKE_RIGHT), column, val); - } - - default Children notLikeLeftIfPresent(R column, Object val) { - return notLikeLeft(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_LEFT), column, val); - } - - default Children notLikeRightIfPresent(R column, Object val) { - return notLikeRight(getIfPresent().test(val, IfPresentSqlKeyWordEnum.NOT_LIKE_RIGHT), column, val); - } -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java index 5aae207..7c5381e 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java @@ -30,7 +30,6 @@ import java.util.stream.Collectors; @SuppressWarnings({"unused", "DuplicatedCode"}) public interface Query extends Serializable { - List