diff --git a/mybatis-plus-join-core/pom.xml b/mybatis-plus-join-core/pom.xml index 4f86364..87b8cf5 100644 --- a/mybatis-plus-join-core/pom.xml +++ b/mybatis-plus-join-core/pom.xml @@ -88,12 +88,6 @@ 1.8.21 provided - - org.jetbrains.kotlin - kotlin-test - 1.8.21 - test - diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java index 5326a56..09ca2a8 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java @@ -1,6 +1,7 @@ package com.github.yulichang.adapter; import com.baomidou.mybatisplus.core.MybatisPlusVersion; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.github.yulichang.adapter.base.ITableInfoAdapter; import com.github.yulichang.adapter.v33x.TableInfoAdapterV33x; @@ -10,11 +11,18 @@ import com.github.yulichang.adapter.v33x.TableInfoAdapterV33x; */ public class AdapterHelper { - public static ITableInfoAdapter getTableInfoAdapter() { + private static final ITableInfoAdapter adapter; + + static { String version = MybatisPlusVersion.getVersion(); - if (version.startsWith("3.3.")) { - return new TableInfoAdapterV33x(); + if (StringUtils.isNotBlank(version) && version.startsWith("3.3.")) { + adapter = new TableInfoAdapterV33x(); + } else { + adapter = new TableInfoAdapter(); } - return new TableInfoAdapter(); + } + + public static ITableInfoAdapter getTableInfoAdapter() { + return adapter; } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java similarity index 95% rename from mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractLambdaWrapper.java rename to mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java index 350f526..5e7225f 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractLambdaWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java @@ -36,8 +36,8 @@ import static java.util.stream.Collectors.joining; * @author yulichang */ @SuppressWarnings({"DuplicatedCode", "unused"}) -public abstract class MPJAbstractLambdaWrapper> - extends MPJAbstractWrapper implements QueryJoin { +public abstract class KtAbstractLambdaWrapper> + extends KtAbstractWrapper implements QueryJoin { /** * 主表别名 @@ -98,14 +98,14 @@ public abstract class MPJAbstractLambdaWrapper clazz) { + public KtAbstractLambdaWrapper(Class clazz) { initNeed(); setEntityClass(clazz); tableList.setRootClass(clazz); @@ -116,7 +116,7 @@ public abstract class MPJAbstractLambdaWrapper clazz, String alias) { + public KtAbstractLambdaWrapper(Class clazz, String alias) { this.alias = alias; setEntityClass(clazz); initNeed(); @@ -153,7 +153,7 @@ public abstract class MPJAbstractLambdaWrapper clazz, String tableAlias, BiConsumer, Children> consumer) { + public Children join(String keyWord, Class clazz, String tableAlias, BiConsumer, Children> consumer) { Integer oldIndex = this.getIndex(); int newIndex = tableIndex; TableInfo info = TableHelper.get(clazz); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java similarity index 99% rename from mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractWrapper.java rename to mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java index fda9e49..5bb9931 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/MPJAbstractWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractWrapper.java @@ -38,7 +38,7 @@ import static java.util.stream.Collectors.joining; * @author yulichang */ @SuppressWarnings("ALL") -public abstract class MPJAbstractWrapper> extends Wrapper +public abstract class KtAbstractWrapper> extends Wrapper implements Compare, Nested, Join, Func, OnCompare, CompareStr, FuncStr { diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java index 3d4abfe..406d7cd 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java @@ -21,7 +21,8 @@ import java.util.stream.Collectors; * @author yulichang * @since 1.4.5 */ -public class KtDeleteJoinWrapper extends MPJAbstractLambdaWrapper> { +@SuppressWarnings({"unused", "DuplicatedCode"}) +public class KtDeleteJoinWrapper extends KtAbstractLambdaWrapper> { /** * 删除表 @@ -69,7 +70,6 @@ public class KtDeleteJoinWrapper extends MPJAbstractLambdaWrapper extends MPJAbstractLambdaWrapper entityClass = getEntityClass(); Assert.notNull(entityClass, "缺少主表类型, 请使用 new MPJLambdaWrapper<>(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法"); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java index a05d027..98a60a7 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java @@ -30,8 +30,8 @@ import java.util.stream.Collectors; * @author yulichang * @since 1.4.6 */ -@SuppressWarnings("ALL") -public class KtLambdaWrapper extends MPJAbstractLambdaWrapper> implements +@SuppressWarnings({"unused", "unchecked", "rawtypes"}) +public class KtLambdaWrapper extends KtAbstractLambdaWrapper> implements Query>, QueryLabel>, Chain, SelectWrapper> { /** @@ -250,6 +250,7 @@ public class KtLambdaWrapper extends MPJAbstractLambdaWrapper { diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java index 9b3a312..54c96fd 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java @@ -27,8 +27,8 @@ import java.util.stream.Collectors; * @author yulichang * @since 1.4.6 */ -@SuppressWarnings("unused") -public class KtUpdateJoinWrapper extends MPJAbstractLambdaWrapper> +@SuppressWarnings({"unused", "DuplicatedCode"}) +public class KtUpdateJoinWrapper extends KtAbstractLambdaWrapper> implements Update> { /** * SQL 更新字段内容,例如:name='1', age=2 diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryJoin.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryJoin.java index d2331f2..d580e69 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryJoin.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/QueryJoin.java @@ -1,7 +1,7 @@ package com.github.yulichang.kt.interfaces; import com.github.yulichang.interfaces.MPJBaseJoin; -import com.github.yulichang.kt.MPJAbstractLambdaWrapper; +import com.github.yulichang.kt.KtAbstractLambdaWrapper; import com.github.yulichang.query.interfaces.StringJoin; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.wrapper.interfaces.WrapperFunction; @@ -34,7 +34,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param function 条件` */ - default Children leftJoin(Class clazz, WrapperFunction> function) { + default Children leftJoin(Class clazz, WrapperFunction> function) { return join(Constant.LEFT_JOIN, clazz, function); } @@ -57,7 +57,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param consumer 条件 */ - default Children leftJoin(Class clazz, BiConsumer, Children> consumer) { + default Children leftJoin(Class clazz, BiConsumer, Children> consumer) { return join(Constant.LEFT_JOIN, clazz, consumer); } @@ -80,7 +80,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, WrapperFunction> function) { return join(Constant.LEFT_JOIN, clazz, alias, function); } @@ -103,7 +103,7 @@ public interface QueryJoin extends MPJBaseJoin, String * @param clazz 关联实体类 * @param consumer 条件 */ - default Children leftJoin(Class clazz, String alias, BiConsumer, Children> consumer) { + default Children leftJoin(Class clazz, String alias, BiConsumer, Children> consumer) { return join(Constant.LEFT_JOIN, clazz, alias, consumer); } @@ -117,7 +117,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, WrapperFunction> function) { + default Children rightJoin(Class clazz, WrapperFunction> function) { return join(Constant.RIGHT_JOIN, clazz, function); } @@ -131,7 +131,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, BiConsumer, Children> consumer) { + default Children rightJoin(Class clazz, BiConsumer, Children> consumer) { return join(Constant.RIGHT_JOIN, clazz, consumer); } @@ -145,7 +145,7 @@ 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, WrapperFunction> function) { return join(Constant.RIGHT_JOIN, clazz, alias, function); } @@ -159,7 +159,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children rightJoin(Class clazz, String alias, BiConsumer, Children> consumer) { + default Children rightJoin(Class clazz, String alias, BiConsumer, Children> consumer) { return join(Constant.RIGHT_JOIN, clazz, alias, consumer); } @@ -174,7 +174,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, WrapperFunction> function) { + default Children innerJoin(Class clazz, WrapperFunction> function) { return join(Constant.INNER_JOIN, clazz, function); } @@ -188,7 +188,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, BiConsumer, Children> consumer) { + default Children innerJoin(Class clazz, BiConsumer, Children> consumer) { return join(Constant.INNER_JOIN, clazz, consumer); } @@ -203,7 +203,7 @@ 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, WrapperFunction> function) { return join(Constant.INNER_JOIN, clazz, alias, function); } @@ -217,7 +217,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children innerJoin(Class clazz, String alias, BiConsumer, Children> consumer) { + default Children innerJoin(Class clazz, String alias, BiConsumer, Children> consumer) { return join(Constant.INNER_JOIN, clazz, alias, consumer); } @@ -231,7 +231,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, WrapperFunction> function) { + default Children fullJoin(Class clazz, WrapperFunction> function) { return join(Constant.FULL_JOIN, clazz, function); } @@ -245,7 +245,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, BiConsumer, Children> consumer) { + default Children fullJoin(Class clazz, BiConsumer, Children> consumer) { return join(Constant.FULL_JOIN, clazz, consumer); } @@ -259,7 +259,7 @@ 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, WrapperFunction> function) { return join(Constant.FULL_JOIN, clazz, alias, function); } @@ -273,7 +273,7 @@ public interface QueryJoin extends MPJBaseJoin, String /** * ignore 参考 left join */ - default Children fullJoin(Class clazz, String alias, BiConsumer, Children> consumer) { + default Children fullJoin(Class clazz, String alias, BiConsumer, Children> consumer) { return join(Constant.FULL_JOIN, clazz, alias, consumer); } @@ -300,7 +300,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, WrapperFunction> function) { return join(keyWord, clazz, (on, e) -> function.apply(on)); } @@ -341,7 +341,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, WrapperFunction> function) { return join(keyWord, clazz, alias, (on, e) -> function.apply(on)); } @@ -362,12 +362,12 @@ public interface QueryJoin extends MPJBaseJoin, String /** * 内部使用, 不建议直接调用 */ - default Children join(String keyWord, Class clazz, BiConsumer, Children> consumer) { + default Children join(String keyWord, Class clazz, BiConsumer, Children> consumer) { return join(keyWord, clazz, null, consumer); } /** * 内部使用, 不建议直接调用 */ - Children join(String keyWord, Class clazz, String alias, BiConsumer, Children> consumer); + Children join(String keyWord, Class clazz, String alias, BiConsumer, Children> consumer); } diff --git a/mybatis-plus-join-test/pom.xml b/mybatis-plus-join-test/pom.xml index ad3dc3c..a8b82a5 100644 --- a/mybatis-plus-join-test/pom.xml +++ b/mybatis-plus-join-test/pom.xml @@ -20,9 +20,11 @@ test-base test-join - test-kotlin test-collection test-mapping + + + @@ -83,11 +85,11 @@ 1.4.5 - - - - - + + + + + com.fasterxml.jackson.core jackson-databind diff --git a/mybatis-plus-join-test/test-join/src/main/java/com/github/yulichang/test/join/entity/UserDO.java b/mybatis-plus-join-test/test-join/src/main/java/com/github/yulichang/test/join/entity/UserDO.java index 6d574cd..b521975 100644 --- a/mybatis-plus-join-test/test-join/src/main/java/com/github/yulichang/test/join/entity/UserDO.java +++ b/mybatis-plus-join-test/test-join/src/main/java/com/github/yulichang/test/join/entity/UserDO.java @@ -23,7 +23,7 @@ import java.util.Map; @EqualsAndHashCode(callSuper = true) @DynamicTableName @FieldNameConstants -@TableName(value = "`user`", autoResultMap = true) +@TableName(value = "`user`") public class UserDO extends ID implements Serializable { private Integer pid; diff --git a/mybatis-plus-join-test/test-kotlin/pom.xml b/mybatis-plus-join-test/test-kotlin/pom.xml index 33f962e..e046035 100644 --- a/mybatis-plus-join-test/test-kotlin/pom.xml +++ b/mybatis-plus-join-test/test-kotlin/pom.xml @@ -7,12 +7,7 @@ mybatis-plus-join-test 1.4.5 - test-kotlin - 1.4.5 - - test-kotlin - test-kotlin 17