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 0fb6fd1..a101017 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 @@ -24,6 +24,7 @@ import com.github.yulichang.toolkit.sql.SqlScriptUtils; import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; import com.github.yulichang.wrapper.enums.PrefixEnum; import com.github.yulichang.wrapper.interfaces.CompareStrIfExists; +import com.github.yulichang.wrapper.interfaces.DoSomething; import com.github.yulichang.wrapper.interfaces.FuncStr; import com.github.yulichang.wrapper.interfaces.Join; import com.github.yulichang.wrapper.segments.SelectFunc; @@ -793,15 +794,6 @@ public abstract class KtAbstractWrapper extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件` */ - default Children leftJoin(Class clazz, WrapperFunction> function) { + default Children leftJoin(Class clazz, MFunction> function) { return join(Constant.LEFT_JOIN, clazz, function); } @@ -56,7 +56,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children leftJoin(Class clazz, KProperty left, KProperty right, WrapperFunction ext) { + default Children leftJoin(Class clazz, KProperty left, KProperty right, MFunction ext) { return join(Constant.LEFT_JOIN, clazz, left, right, ext); } @@ -102,7 +102,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children leftJoin(Class clazz, String alias, WrapperFunction> function) { + default Children leftJoin(Class clazz, String alias, MFunction> function) { return join(Constant.LEFT_JOIN, clazz, alias, function); } @@ -113,7 +113,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children leftJoin(Class clazz, String alias, KProperty left, KProperty right, WrapperFunction ext) { + default Children leftJoin(Class clazz, String alias, KProperty left, KProperty right, MFunction ext) { return join(Constant.LEFT_JOIN, clazz, alias, left, right, ext); } @@ -146,14 +146,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, WrapperFunction> function) { + default Children rightJoin(Class clazz, MFunction> function) { return join(Constant.RIGHT_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, KProperty left, KProperty right, WrapperFunction ext) { + default Children rightJoin(Class clazz, KProperty left, KProperty right, MFunction ext) { return join(Constant.RIGHT_JOIN, clazz, left, right, ext); } @@ -181,14 +181,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, String alias, WrapperFunction> function) { + default Children rightJoin(Class clazz, String alias, MFunction> function) { return join(Constant.RIGHT_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, String alias, KProperty left, KProperty right, WrapperFunction ext) { + default Children rightJoin(Class clazz, String alias, KProperty left, KProperty right, MFunction ext) { return join(Constant.RIGHT_JOIN, clazz, alias, left, right, ext); } @@ -218,14 +218,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, WrapperFunction> function) { + default Children innerJoin(Class clazz, MFunction> function) { return join(Constant.INNER_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, KProperty left, KProperty right, WrapperFunction ext) { + default Children innerJoin(Class clazz, KProperty left, KProperty right, MFunction ext) { return join(Constant.INNER_JOIN, clazz, left, right, ext); } @@ -254,14 +254,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, String alias, WrapperFunction> function) { + default Children innerJoin(Class clazz, String alias, MFunction> function) { return join(Constant.INNER_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, String alias, KProperty left, KProperty right, WrapperFunction ext) { + default Children innerJoin(Class clazz, String alias, KProperty left, KProperty right, MFunction ext) { return join(Constant.INNER_JOIN, clazz, alias, left, right, ext); } @@ -289,14 +289,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, WrapperFunction> function) { + default Children fullJoin(Class clazz, MFunction> function) { return join(Constant.FULL_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, KProperty left, KProperty right, WrapperFunction ext) { + default Children fullJoin(Class clazz, KProperty left, KProperty right, MFunction ext) { return join(Constant.FULL_JOIN, clazz, left, right, ext); } @@ -324,14 +324,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, String alias, WrapperFunction> function) { + default Children fullJoin(Class clazz, String alias, MFunction> function) { return join(Constant.FULL_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, String alias, KProperty left, KProperty right, WrapperFunction ext) { + default Children fullJoin(Class clazz, String alias, KProperty left, KProperty right, MFunction ext) { return join(Constant.FULL_JOIN, clazz, alias, left, right, ext); } @@ -372,7 +372,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children join(String keyWord, Class clazz, WrapperFunction> function) { + default Children join(String keyWord, Class clazz, MFunction> function) { return join(keyWord, clazz, (on, e) -> function.apply(on)); } @@ -383,7 +383,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children join(String keyWord, Class clazz, KProperty left, KProperty right, WrapperFunction ext) { + default Children join(String keyWord, Class clazz, KProperty left, KProperty right, MFunction ext) { return join(keyWord, clazz, (on, e) -> { on.eq(left, right); ext.apply(e); @@ -420,7 +420,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children join(String keyWord, Class clazz, String alias, WrapperFunction> function) { + default Children join(String keyWord, Class clazz, String alias, MFunction> function) { return join(keyWord, clazz, alias, (on, e) -> function.apply(on)); } @@ -431,7 +431,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children join(String keyWord, Class clazz, String alias, KProperty left, KProperty right, WrapperFunction ext) { + default Children join(String keyWord, Class clazz, String alias, KProperty left, KProperty right, MFunction ext) { return join(keyWord, clazz, alias, (on, e) -> { on.eq(left, right); ext.apply(e); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryLabel.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryLabel.java index e450196..d5f4571 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryLabel.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryLabel.java @@ -7,8 +7,8 @@ import com.github.yulichang.kt.resultmap.MybatisLabelFree; import com.github.yulichang.toolkit.KtUtils; import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.support.FieldCache; +import com.github.yulichang.wrapper.interfaces.MFunction; import com.github.yulichang.wrapper.resultmap.Label; -import com.github.yulichang.wrapper.resultmap.MFunc; import kotlin.reflect.KProperty; import java.util.Collection; @@ -92,11 +92,11 @@ public interface QueryLabel { */ default Children selectCollection(Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { return selectCollection(null, child, dtoField, collection); } - default Children selectCollection(KProperty dtoField, MFunc> collection) { + default Children selectCollection(KProperty dtoField, MFunction> collection) { //自由映射必须存在泛型Z String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); @@ -111,7 +111,7 @@ public interface QueryLabel { default Children selectCollection(String prefix, Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); //获取集合泛型 @@ -149,12 +149,12 @@ public interface QueryLabel { * @since 1.3.0 */ default Children selectAssociation(Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { return selectAssociation(null, child, dtoField, collection); } default Children selectAssociation(KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); Assert.isFalse(Collection.class.isAssignableFrom(field.getType()), "association 不支持集合类"); @@ -165,7 +165,7 @@ public interface QueryLabel { } default Children selectAssociation(String prefix, Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); Assert.isFalse(Collection.class.isAssignableFrom(field.getType()), "association 不支持集合类"); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabel.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabel.java index 4674297..8067232 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabel.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabel.java @@ -8,9 +8,9 @@ import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.toolkit.support.ColumnCache; import com.github.yulichang.toolkit.support.FieldCache; +import com.github.yulichang.wrapper.interfaces.MFunction; import com.github.yulichang.wrapper.resultmap.IResult; import com.github.yulichang.wrapper.resultmap.Label; -import com.github.yulichang.wrapper.resultmap.MFunc; import com.github.yulichang.wrapper.segments.SelectCache; import kotlin.reflect.KProperty; import lombok.Getter; @@ -160,7 +160,7 @@ public class MybatisLabel implements Label { return this; } - public Builder collection(Class entityClass, KProperty func, MFunc> mFunc) { + public Builder collection(Class entityClass, KProperty func, MFunction> mFunc) { return collection(null, entityClass, func, mFunc); } @@ -168,7 +168,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public Builder collection(KProperty func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = func.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(func)).get(dtoFieldName); //获取集合泛型 @@ -185,7 +185,7 @@ public class MybatisLabel implements Label { public Builder collection(String prefix, Class entityClass, KProperty func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = func.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(func)).get(dtoFieldName); //获取集合泛型 @@ -215,7 +215,7 @@ public class MybatisLabel implements Label { } public Builder association(Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { return association(null, child, dtoField, collection); } @@ -223,7 +223,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public Builder association(KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); Assert.isFalse(Collection.class.isAssignableFrom(field.getType()), "association 不支持集合类"); @@ -236,7 +236,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public Builder association(String index, Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); Assert.isFalse(Collection.class.isAssignableFrom(field.getType()), "association 不支持集合类"); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabelFree.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabelFree.java index 1ab0dc7..4b3877d 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabelFree.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/resultmap/MybatisLabelFree.java @@ -8,9 +8,9 @@ import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.toolkit.support.ColumnCache; import com.github.yulichang.toolkit.support.FieldCache; +import com.github.yulichang.wrapper.interfaces.MFunction; import com.github.yulichang.wrapper.resultmap.IResult; import com.github.yulichang.wrapper.resultmap.Label; -import com.github.yulichang.wrapper.resultmap.MFunc; import com.github.yulichang.wrapper.resultmap.ResultList; import com.github.yulichang.wrapper.segments.SelectCache; import kotlin.reflect.KProperty; @@ -176,11 +176,11 @@ public class MybatisLabelFree implements Label { return this; } - public Builder collection(Class entityClass, KProperty func, MFunc> mFunc) { + public Builder collection(Class entityClass, KProperty func, MFunction> mFunc) { return collection(null, entityClass, func, mFunc); } - public Builder collection(KProperty func, MFunc> mFunc) { + public Builder collection(KProperty func, MFunction> mFunc) { String dtoFieldName = func.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(func)).get(dtoFieldName); //获取集合泛型 @@ -196,7 +196,7 @@ public class MybatisLabelFree implements Label { public Builder collection(String prefix, Class entityClass, KProperty func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = func.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(func)).get(dtoFieldName); //获取集合泛型 @@ -225,7 +225,7 @@ public class MybatisLabelFree implements Label { } public Builder association(Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { return association(null, child, dtoField, collection); } @@ -233,7 +233,7 @@ public class MybatisLabelFree implements Label { * 嵌套 */ public Builder association(String index, Class child, KProperty dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = dtoField.getName(); FieldCache field = MPJReflectionKit.getFieldMap(KtUtils.ref(dtoField)).get(dtoFieldName); Assert.isFalse(Collection.class.isAssignableFrom(field.getType()), "association 不支持集合类"); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/ThrowOptional.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/ThrowOptional.java index da86173..db9e9e2 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/ThrowOptional.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/ThrowOptional.java @@ -1,5 +1,7 @@ package com.github.yulichang.toolkit; +import com.github.yulichang.wrapper.interfaces.DoSomething; + import java.util.Objects; import java.util.function.Consumer; @@ -24,17 +26,17 @@ public class ThrowOptional { public void catchDo() { try { - this.doSomething.doSomething(); + this.doSomething.doIt(); } catch (Throwable ignored) { } } public void catchDo(DoSomething doSomething) { try { - this.doSomething.doSomething(); + this.doSomething.doIt(); } catch (Throwable ignored) { try { - doSomething.doSomething(); + doSomething.doIt(); } catch (Throwable e) { throw new RuntimeException(e); } @@ -43,15 +45,10 @@ public class ThrowOptional { public void catchDo(Consumer consumer) { try { - this.doSomething.doSomething(); + this.doSomething.doIt(); } catch (Throwable throwable) { consumer.accept(throwable); } } - - @FunctionalInterface - public interface DoSomething { - void doSomething() throws Throwable; - } } 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 88a2145..afd1ae8 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 @@ -920,15 +920,6 @@ public abstract class JoinAbstractWrapper { +@SuppressWarnings("unused") +public interface Chain extends MPJBaseJoin { Class getEntityClass(); @@ -29,7 +29,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default Long count() { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinCount((MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinCount(this)); } /** @@ -40,7 +40,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default T one() { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinOne(getEntityClass(), (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinOne(getEntityClass(), this)); } /** @@ -51,7 +51,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default R one(Class resultType) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinOne(resultType, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinOne(resultType, this)); } /** @@ -83,7 +83,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default List list() { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinList(getEntityClass(), (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinList(getEntityClass(), this)); } /** @@ -93,7 +93,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default List list(Class resultType) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinList(resultType, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinList(resultType, this)); } /** @@ -103,7 +103,7 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default

> P page(P page) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinPage(page, getEntityClass(), (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinPage(page, getEntityClass(), this)); } /** @@ -113,6 +113,6 @@ public interface Chain { * JoinWrappers.lambda(User.class)
*/ default > P page(P page, Class resultType) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinPage(page, resultType, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectJoinPage(page, resultType, this)); } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DeleteChain.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DeleteChain.java index 47ebf02..d1e566a 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DeleteChain.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DeleteChain.java @@ -1,7 +1,5 @@ package com.github.yulichang.wrapper.interfaces; -import com.baomidou.mybatisplus.core.toolkit.Assert; -import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.interfaces.MPJBaseJoin; import com.github.yulichang.toolkit.SqlHelper; @@ -15,7 +13,7 @@ import com.github.yulichang.toolkit.SqlHelper; * @author yulichang * @since 1.4.10 */ -public interface DeleteChain { +public interface DeleteChain extends MPJBaseJoin { Class getEntityClass(); @@ -26,11 +24,8 @@ public interface DeleteChain { * new DeleteJoinWrapper(User.class)
* JoinWrappers.delete(User.class)
*/ - @SuppressWarnings({"unused", "unchecked"}) + @SuppressWarnings("unused") default int deleteJoin() { - return SqlHelper.exec(getEntityClass(), mapper -> { - Assert.isTrue(mapper instanceof MPJBaseMapper, "mapper <%s> is not extends MPJBaseMapper", mapper.getClass().getSimpleName()); - return ((MPJBaseMapper) mapper).deleteJoin((MPJBaseJoin) this); - }); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.deleteJoin(this)); } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DoSomething.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DoSomething.java new file mode 100644 index 0000000..094be3e --- /dev/null +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/DoSomething.java @@ -0,0 +1,7 @@ +package com.github.yulichang.wrapper.interfaces; + +@FunctionalInterface +public interface DoSomething { + + void doIt(); +} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/WrapperFunction.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/MFunction.java similarity index 80% rename from mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/WrapperFunction.java rename to mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/MFunction.java index 6ea8aad..3c214f0 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/WrapperFunction.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/MFunction.java @@ -7,7 +7,7 @@ package com.github.yulichang.wrapper.interfaces; * @since 1.1.8 */ @FunctionalInterface -public interface WrapperFunction { +public interface MFunction { T apply(T wrapper); } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryJoin.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryJoin.java index d6588a4..a4815fc 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryJoin.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryJoin.java @@ -45,7 +45,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件` */ - default Children leftJoin(Class clazz, WrapperFunction> function) { + default Children leftJoin(Class clazz, MFunction> function) { return join(Constant.LEFT_JOIN, clazz, function); } @@ -56,7 +56,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children leftJoin(Class clazz, SFunction left, SFunction right, WrapperFunction ext) { + default Children leftJoin(Class clazz, SFunction left, SFunction right, MFunction ext) { return join(Constant.LEFT_JOIN, clazz, left, right, ext); } @@ -103,7 +103,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children leftJoin(Class clazz, String alias, WrapperFunction> function) { + default Children leftJoin(Class clazz, String alias, MFunction> function) { return join(Constant.LEFT_JOIN, clazz, alias, function); } @@ -114,7 +114,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children leftJoin(Class clazz, String alias, SFunction left, SFunction right, WrapperFunction ext) { + default Children leftJoin(Class clazz, String alias, SFunction left, SFunction right, MFunction ext) { return join(Constant.LEFT_JOIN, clazz, alias, left, right, ext); } @@ -148,14 +148,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, WrapperFunction> function) { + default Children rightJoin(Class clazz, MFunction> function) { return join(Constant.RIGHT_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, SFunction left, SFunction right, WrapperFunction ext) { + default Children rightJoin(Class clazz, SFunction left, SFunction right, MFunction ext) { return join(Constant.RIGHT_JOIN, clazz, left, right, ext); } @@ -176,14 +176,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, String alias, WrapperFunction> function) { + default Children rightJoin(Class clazz, String alias, MFunction> function) { return join(Constant.RIGHT_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, String alias, SFunction left, SFunction right, WrapperFunction ext) { + default Children rightJoin(Class clazz, String alias, SFunction left, SFunction right, MFunction ext) { return join(Constant.RIGHT_JOIN, clazz, alias, left, right, ext); } @@ -212,14 +212,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, WrapperFunction> function) { + default Children innerJoin(Class clazz, MFunction> function) { return join(Constant.INNER_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, SFunction left, SFunction right, WrapperFunction ext) { + default Children innerJoin(Class clazz, SFunction left, SFunction right, MFunction ext) { return join(Constant.INNER_JOIN, clazz, left, right, ext); } @@ -241,14 +241,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, String alias, WrapperFunction> function) { + default Children innerJoin(Class clazz, String alias, MFunction> function) { return join(Constant.INNER_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, String alias, SFunction left, SFunction right, WrapperFunction ext) { + default Children innerJoin(Class clazz, String alias, SFunction left, SFunction right, MFunction ext) { return join(Constant.INNER_JOIN, clazz, alias, left, right, ext); } @@ -283,14 +283,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, WrapperFunction> function) { + default Children fullJoin(Class clazz, MFunction> function) { return join(Constant.FULL_JOIN, clazz, function); } /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, SFunction left, SFunction right, WrapperFunction ext) { + default Children fullJoin(Class clazz, SFunction left, SFunction right, MFunction ext) { return join(Constant.FULL_JOIN, clazz, left, right, ext); } @@ -318,14 +318,14 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, String alias, WrapperFunction> function) { + default Children fullJoin(Class clazz, String alias, MFunction> function) { return join(Constant.FULL_JOIN, clazz, alias, function); } /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, String alias, SFunction left, SFunction right, WrapperFunction ext) { + default Children fullJoin(Class clazz, String alias, SFunction left, SFunction right, MFunction ext) { return join(Constant.FULL_JOIN, clazz, alias, left, right, ext); } @@ -373,7 +373,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children join(String keyWord, Class clazz, WrapperFunction> function) { + default Children join(String keyWord, Class clazz, MFunction> function) { return join(keyWord, clazz, (on, e) -> function.apply(on)); } @@ -384,7 +384,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children join(String keyWord, Class clazz, SFunction left, SFunction right, WrapperFunction ext) { + default Children join(String keyWord, Class clazz, SFunction left, SFunction right, MFunction ext) { return join(keyWord, clazz, (on, e) -> { on.eq(left, right); ext.apply(e); @@ -429,7 +429,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件 */ - default Children join(String keyWord, Class clazz, String alias, WrapperFunction> function) { + default Children join(String keyWord, Class clazz, String alias, MFunction> function) { return join(keyWord, clazz, alias, (on, e) -> function.apply(on)); } @@ -440,7 +440,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param left 条件 * @param right 条件 */ - default Children join(String keyWord, Class clazz, String alias, SFunction left, SFunction right, WrapperFunction ext) { + default Children join(String keyWord, Class clazz, String alias, SFunction left, SFunction right, MFunction ext) { return join(keyWord, clazz, alias, (on, e) -> { on.eq(left, right); ext.apply(e); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryLabel.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryLabel.java index b175059..5bb55b9 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryLabel.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/QueryLabel.java @@ -7,7 +7,6 @@ import com.github.yulichang.toolkit.LambdaUtils; import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.support.FieldCache; import com.github.yulichang.wrapper.resultmap.Label; -import com.github.yulichang.wrapper.resultmap.MFunc; import com.github.yulichang.wrapper.resultmap.MybatisLabel; import com.github.yulichang.wrapper.resultmap.MybatisLabelFree; @@ -102,12 +101,12 @@ public interface QueryLabel { */ default > Children selectCollection(Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { return selectCollection(null, child, dtoField, collection); } default > Children selectCollection(SFunction dtoField, - MFunc> collection) { + MFunction> collection) { //自由映射必须存在泛型Z String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); @@ -124,7 +123,7 @@ public interface QueryLabel { default > Children selectCollection(String prefix, Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -165,12 +164,12 @@ public interface QueryLabel { * @since 1.3.0 */ default Children selectAssociation(Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { return selectAssociation(null, child, dtoField, collection); } default Children selectAssociation(SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -182,7 +181,7 @@ public interface QueryLabel { } default Children selectAssociation(String prefix, Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/UpdateChain.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/UpdateChain.java index a7bee40..5965201 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/UpdateChain.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/UpdateChain.java @@ -13,8 +13,8 @@ import com.github.yulichang.toolkit.SqlHelper; * @author yulichang * @since 1.4.10 */ -@SuppressWarnings({"unchecked", "unused"}) -public interface UpdateChain { +@SuppressWarnings("unused") +public interface UpdateChain extends MPJBaseJoin { Class getEntityClass(); @@ -26,7 +26,7 @@ public interface UpdateChain { * JoinWrappers.update(User.class)
*/ default int update() { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoin(null, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoin(null, this)); } /** @@ -37,7 +37,7 @@ public interface UpdateChain { * JoinWrappers.update(User.class)
*/ default int update(T entity) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoin(entity, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoin(entity, this)); } /** @@ -48,7 +48,7 @@ public interface UpdateChain { * JoinWrappers.update(User.class)
*/ default int updateAndNull() { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoinAndNull(null, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoinAndNull(null, this)); } /** @@ -59,6 +59,6 @@ public interface UpdateChain { * JoinWrappers.update(User.class)
*/ default int updateAndNull(T entity) { - return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoinAndNull(entity, (MPJBaseJoin) this)); + return SqlHelper.exec(getEntityClass(), mapper -> mapper.updateJoinAndNull(entity, this)); } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MFunc.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MFunc.java deleted file mode 100644 index f9bf531..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MFunc.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.github.yulichang.wrapper.resultmap; - -@FunctionalInterface -public interface MFunc { - - T apply(T t); -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabel.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabel.java index 0ab6ede..412d2b2 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabel.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabel.java @@ -9,6 +9,7 @@ import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.toolkit.support.ColumnCache; import com.github.yulichang.toolkit.support.FieldCache; +import com.github.yulichang.wrapper.interfaces.MFunction; import com.github.yulichang.wrapper.segments.SelectCache; import lombok.Getter; @@ -158,7 +159,7 @@ public class MybatisLabel implements Label { return this; } - public > Builder collection(Class
entityClass, SFunction func, MFunc> mFunc) { + public > Builder collection(Class entityClass, SFunction func, MFunction> mFunc) { return collection(null, entityClass, func, mFunc); } @@ -166,7 +167,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public > Builder collection(SFunction func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = LambdaUtils.getName(func); Class dtoClass = LambdaUtils.getEntityClass(func); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -184,7 +185,7 @@ public class MybatisLabel implements Label { public > Builder collection(String prefix, Class entityClass, SFunction func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = LambdaUtils.getName(func); Class dtoClass = LambdaUtils.getEntityClass(func); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -216,7 +217,7 @@ public class MybatisLabel implements Label { } public Builder association(Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { return association(null, child, dtoField, collection); } @@ -224,7 +225,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public Builder association(SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -238,7 +239,7 @@ public class MybatisLabel implements Label { * 嵌套 */ public Builder association(String index, Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabelFree.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabelFree.java index 10c1611..746ac33 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabelFree.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/resultmap/MybatisLabelFree.java @@ -9,6 +9,7 @@ import com.github.yulichang.toolkit.MPJReflectionKit; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.toolkit.support.ColumnCache; import com.github.yulichang.toolkit.support.FieldCache; +import com.github.yulichang.wrapper.interfaces.MFunction; import com.github.yulichang.wrapper.segments.SelectCache; import lombok.Getter; @@ -174,12 +175,12 @@ public class MybatisLabelFree implements Label { return this; } - public > Builder collection(Class entityClass, SFunction func, MFunc> mFunc) { + public > Builder collection(Class entityClass, SFunction func, MFunction> mFunc) { return collection(null, entityClass, func, mFunc); } public > Builder collection(SFunction func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = LambdaUtils.getName(func); Class dtoClass = LambdaUtils.getEntityClass(func); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -197,7 +198,7 @@ public class MybatisLabelFree implements Label { public > Builder collection(String prefix, Class entityClass, SFunction func, - MFunc> mFunc) { + MFunction> mFunc) { String dtoFieldName = LambdaUtils.getName(func); Class dtoClass = LambdaUtils.getEntityClass(func); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName); @@ -229,7 +230,7 @@ public class MybatisLabelFree implements Label { } public Builder association(Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { return association(null, child, dtoField, collection); } @@ -237,7 +238,7 @@ public class MybatisLabelFree implements Label { * 嵌套 */ public Builder association(String index, Class child, SFunction dtoField, - MFunc> collection) { + MFunction> collection) { String dtoFieldName = LambdaUtils.getName(dtoField); Class dtoClass = LambdaUtils.getEntityClass(dtoField); FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName);