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 4bf7235..2c0f733 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 @@ -64,7 +64,7 @@ public abstract class KtAbstractWrapper extends KtAbstractLambdaWrapper entityClass, SharedString sqlSelect, AtomicInteger paramNameSeq, - Map paramNameValuePairs, MergeSegments mergeSegments, + Map paramNameValuePairs, MergeSegments mergeSegments, SharedString paramAlias, SharedString lastSql, SharedString sqlComment, SharedString sqlFirst, TableList tableList, Integer index, String keyWord, Class joinClass, String tableName) { super.setEntity(entity); @@ -134,6 +134,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper extends KtAbstractLambdaWrapper selectSub(Class clazz, String st, Consumer> consumer, KProperty alias) { KtLambdaWrapper wrapper = new KtLambdaWrapper(null, clazz, SharedString.emptyString(), paramNameSeq, paramNameValuePairs, - new MergeSegments(), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), + new MergeSegments(), SharedString.emptyString(), this.paramAlias, SharedString.emptyString(), SharedString.emptyString(), new TableList(), null, null, null, null) { }; wrapper.tableList.setAlias(st); @@ -348,7 +349,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper instance(Integer index, String keyWord, Class joinClass, String tableName) { return new KtLambdaWrapper<>(getEntity(), getEntityClass(), null, paramNameSeq, paramNameValuePairs, - new MergeSegments(), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), + new MergeSegments(), SharedString.emptyString(), this.paramAlias, SharedString.emptyString(), SharedString.emptyString(), this.tableList, index, keyWord, joinClass, tableName); } @@ -356,7 +357,8 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper> extends MPJAbstractWrapper implements QueryJoin { @@ -455,7 +456,7 @@ public abstract class MPJAbstractLambdaWrapper extends MPJAbstractLambdaWrapper entityClass, SharedString sqlSelect, AtomicInteger paramNameSeq, - Map paramNameValuePairs, MergeSegments mergeSegments, + Map paramNameValuePairs, MergeSegments mergeSegments, SharedString paramAlias, SharedString lastSql, SharedString sqlComment, SharedString sqlFirst, TableList tableList, Integer index, String keyWord, Class joinClass, String tableName) { super.setEntity(entity); @@ -132,6 +132,7 @@ public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper extends MPJAbstractLambdaWrapper MPJLambdaWrapper selectSub(Class clazz, String st, Consumer> consumer, SFunction alias) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper(null, clazz, SharedString.emptyString(), paramNameSeq, paramNameValuePairs, - new MergeSegments(), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), + new MergeSegments(), this.paramAlias, SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), new TableList(), null, null, null, null) { }; wrapper.tableList.setAlias(st); @@ -348,7 +349,7 @@ public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper instance(Integer index, String keyWord, Class joinClass, String tableName) { return new MPJLambdaWrapper<>(getEntity(), getEntityClass(), null, paramNameSeq, paramNameValuePairs, - new MergeSegments(), SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), + new MergeSegments(), this.paramAlias, SharedString.emptyString(), SharedString.emptyString(), SharedString.emptyString(), this.tableList, index, keyWord, joinClass, tableName); } @@ -359,7 +360,8 @@ public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper wrapper1 = JoinWrappers.lambda(UserDO.class) .selectAll(UserDO.class) - .eq(UserDO::getName, "张三 2"); + .eq(UserDO::getName, "张三 2") + .and(w -> w.eq(UserDO::getName, "张三 2")); MPJLambdaWrapper wrapper2 = JoinWrappers.lambda(UserDO.class) .selectAll(UserDO.class) .eq(UserDO::getPid, 2); wrapper.union(wrapper1, wrapper2); + + System.out.println(wrapper.getUnionSql()); List list = wrapper.list(); assert list.size() == 7; diff --git a/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt b/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt index e974a64..43b61de 100644 --- a/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt +++ b/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt @@ -1146,6 +1146,7 @@ class LambdaWrapperTest { val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .eq(UserDO::name, "张三 2") + .and { a -> a.eq(UserDO::name, "张三 2") } val wrapper2: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .eq(UserDO::pid, 2)