From 79e875f8d13bb6b59371dce188e7c92f3bed242e Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Fri, 31 May 2024 06:19:46 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yulichang/adapter/base/IAdapter.java | 5 ----- .../yulichang/adapter/v33x/AdapterV33x.java | 6 ------ .../yulichang/config/ConfigProperties.java | 6 ------ .../yulichang/kt/KtAbstractLambdaWrapper.java | 3 ++- .../yulichang/method/MPJBaseMethod.java | 18 +++++++++--------- .../yulichang/query/MPJQueryWrapper.java | 3 ++- .../com/github/yulichang/toolkit/Asserts.java | 19 ------------------- .../yulichang/toolkit/LogicInfoUtils.java | 6 +++--- .../github/yulichang/toolkit/TableHelper.java | 7 ++++++- .../toolkit/support/ColumnCache.java | 4 ++-- .../wrapper/JoinAbstractLambdaWrapper.java | 3 ++- .../wrapper/segments/SelectCache.java | 3 +-- 12 files changed, 27 insertions(+), 56 deletions(-) delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/Asserts.java diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java index 8dfc949..72e35c6 100644 --- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java +++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java @@ -3,7 +3,6 @@ package com.github.yulichang.adapter.base; import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.github.yulichang.adapter.base.metadata.OrderFieldInfo; -import org.apache.ibatis.session.Configuration; import java.lang.reflect.Field; import java.util.List; @@ -37,10 +36,6 @@ public interface IAdapter { return tableInfo.havePK(); } - default Configuration mpjGetConfiguration(TableInfo tableInfo) { - return tableInfo.getConfiguration(); - } - default Field mpjGetField(TableFieldInfo fieldInfo, Supplier supplier) { return fieldInfo.getField(); } diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java index ce87259..972fe7e 100644 --- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java +++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java @@ -9,7 +9,6 @@ import com.github.yulichang.adapter.base.IAdapter; import com.github.yulichang.adapter.base.metadata.OrderFieldInfo; import com.github.yulichang.adapter.base.tookit.VersionUtils; import com.github.yulichang.adapter.jsqlparser.v46.JSqlParserHelperV46; -import org.apache.ibatis.session.Configuration; import java.lang.reflect.Field; import java.util.List; @@ -56,11 +55,6 @@ public class AdapterV33x implements IAdapter { StringUtils.isNotBlank(tableInfo.getKeyColumn()); } - @Override - public Configuration mpjGetConfiguration(TableInfo tableInfo) { - return tableInfo.getConfiguration(); - } - @Override public Field mpjGetField(TableFieldInfo fieldInfo, Supplier supplier) { return is330 ? supplier.get() : IAdapter.super.mpjGetField(fieldInfo, null); 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 0d559f4..921baa4 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 @@ -1,7 +1,5 @@ package com.github.yulichang.config; -import com.github.yulichang.adapter.AdapterHelper; -import com.github.yulichang.adapter.base.IAdapter; import com.github.yulichang.config.enums.IfExistsEnum; import com.github.yulichang.config.enums.LogicDelTypeEnum; import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum; @@ -42,10 +40,6 @@ public class ConfigProperties { * 映射查询最大深度 */ public static int mappingMaxCount = 5; - /** - * TableInfo适配器 - */ - public static IAdapter tableInfoAdapter = AdapterHelper.getAdapter(); /** * 子查询别名 */ diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java index 374f93c..9dc9940 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtAbstractLambdaWrapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.github.yulichang.adapter.AdapterHelper; import com.github.yulichang.config.ConfigProperties; import com.github.yulichang.config.enums.LogicDelTypeEnum; import com.github.yulichang.kt.interfaces.QueryJoin; @@ -333,7 +334,7 @@ public abstract class KtAbstractLambdaWrapper LogicInfoUtils.getLogicInfoNoAnd( wrapper.getIndex(), wrapper.getJoinClass(), wrapper.isHasAlias(), wrapper.getAlias() )); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java index 8742ad9..c8f60e8 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java @@ -30,7 +30,7 @@ import static java.util.stream.Collectors.joining; public interface MPJBaseMethod extends Constants { default String mpjSqlWhereEntityWrapper(boolean newLine, TableInfo table) { - if (ConfigProperties.tableInfoAdapter.mpjHasLogic(table)) { + if (AdapterHelper.getAdapter().mpjHasLogic(table)) { String sqlScript = getAllSqlWhere(table, true, true, WRAPPER_ENTITY_DOT); sqlScript = SqlScriptUtils.convertIf(sqlScript, String.format("%s != null", WRAPPER_ENTITY), true); sqlScript += NEWLINE; @@ -98,7 +98,7 @@ public interface MPJBaseMethod extends Constants { String filedSqlScript = tableInfo.getFieldList().stream() .filter(i -> { if (ignoreLogicDelFiled) { - return !(ConfigProperties.tableInfoAdapter.mpjHasLogic(tableInfo) && i.isLogicDelete()); + return !(AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && i.isLogicDelete()); } return true; }) @@ -127,7 +127,7 @@ public interface MPJBaseMethod extends Constants { if (fieldStrategy == FieldStrategy.NEVER) { return null; } - if (ConfigProperties.tableInfoAdapter.mpjIsPrimitive(tableFieldInfo) || fieldStrategy == FieldStrategy.IGNORED) { + if (AdapterHelper.getAdapter().mpjIsPrimitive(tableFieldInfo) || fieldStrategy == FieldStrategy.IGNORED) { return sqlScript; } if (fieldStrategy == FieldStrategy.NOT_EMPTY && tableFieldInfo.isCharSequence()) { @@ -143,7 +143,7 @@ public interface MPJBaseMethod extends Constants { default String getLogicDeleteSql(TableInfo tableInfo, boolean startWithAnd, boolean isWhere) { - if (ConfigProperties.tableInfoAdapter.mpjHasLogic(tableInfo)) { + if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo)) { String logicDeleteSql = formatLogicDeleteSql(tableInfo, isWhere); if (startWithAnd) { logicDeleteSql = " AND " + logicDeleteSql; @@ -155,15 +155,15 @@ public interface MPJBaseMethod extends Constants { default String formatLogicDeleteSql(TableInfo tableInfo, boolean isWhere) { - final String value = isWhere ? ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo).getLogicNotDeleteValue() : - ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo).getLogicDeleteValue(); + final String value = isWhere ? AdapterHelper.getAdapter().mpjGetLogicField(tableInfo).getLogicNotDeleteValue() : + AdapterHelper.getAdapter().mpjGetLogicField(tableInfo).getLogicDeleteValue(); if (isWhere) { if (NULL.equalsIgnoreCase(value)) { - return "${ew.alias}." + ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo).getColumn() + + return "${ew.alias}." + AdapterHelper.getAdapter().mpjGetLogicField(tableInfo).getColumn() + " IS NULL"; } else { - return "${ew.alias}." + ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo).getColumn() + - EQUALS + String.format(ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo).isCharSequence() ? + return "${ew.alias}." + AdapterHelper.getAdapter().mpjGetLogicField(tableInfo).getColumn() + + EQUALS + String.format(AdapterHelper.getAdapter().mpjGetLogicField(tableInfo).isCharSequence() ? "'%s'" : "%s", value); } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java index 4f46924..7be9335 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.toolkit.*; +import com.github.yulichang.adapter.AdapterHelper; import com.github.yulichang.adapter.base.tookit.VersionUtils; import com.github.yulichang.config.ConfigProperties; import com.github.yulichang.query.interfaces.CompareIfExists; @@ -239,7 +240,7 @@ public class MPJQueryWrapper extends AbstractWrapper selectAll(Class clazz, String as) { TableInfo info = TableHelper.getAssert(clazz); - if (ConfigProperties.tableInfoAdapter.mpjHasPK(info)) { + if (AdapterHelper.getAdapter().mpjHasPK(info)) { selectColumns.add(as + StringPool.DOT + info.getKeySqlSelect()); } selectColumns.addAll(info.getFieldList().stream().map(i -> diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/Asserts.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/Asserts.java deleted file mode 100644 index 63fb2c0..0000000 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/Asserts.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.github.yulichang.toolkit; - -import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; -import com.baomidou.mybatisplus.core.metadata.TableInfo; - -/** - * @author yulichang - * @since 1.4.5 - */ -public class Asserts { - - public static void hasTable(TableInfo tableInfo, Class entityClass) { - if (tableInfo == null) { - throw new MybatisPlusException(String.format( - "mapper not find by class <%s> , add mapper and extends BaseMapper or MPJBaseMapper", - entityClass.getSimpleName())); - } - } -} diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java index e20785b..d0fc818 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/LogicInfoUtils.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.github.yulichang.config.ConfigProperties; +import com.github.yulichang.adapter.AdapterHelper; import java.util.Map; import java.util.Objects; @@ -42,8 +42,8 @@ public class LogicInfoUtils implements Constants { private static String getLogicStr(String prefix, Class clazz, boolean and, boolean invert) { String logicStr; TableInfo tableInfo = TableHelper.getAssert(clazz); - TableFieldInfo logicField = ConfigProperties.tableInfoAdapter.mpjGetLogicField(tableInfo); - if (ConfigProperties.tableInfoAdapter.mpjHasLogic(tableInfo) && Objects.nonNull(logicField)) { + TableFieldInfo logicField = AdapterHelper.getAdapter().mpjGetLogicField(tableInfo); + if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && Objects.nonNull(logicField)) { final String notDeleteValue = logicField.getLogicNotDeleteValue(); final String deleteValue = logicField.getLogicDeleteValue(); if (NULL.equalsIgnoreCase(notDeleteValue)) { diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/TableHelper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/TableHelper.java index 47c974b..bd0a6ca 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/TableHelper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/TableHelper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.ClassUtils; +import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils; import com.github.yulichang.config.MPJInterceptorConfig; import org.apache.ibatis.type.SimpleTypeRegistry; @@ -70,7 +71,11 @@ public class TableHelper { public static TableInfo getAssert(Class clazz) { Objects.requireNonNull(clazz); TableInfo tableInfo = get(clazz); - Asserts.hasTable(tableInfo, clazz); + if (tableInfo == null) { + throw ExceptionUtils.mpe(String.format( + "mapper not find by class <%s> , add mapper and extends BaseMapper or MPJBaseMapper", + clazz.getSimpleName())); + } return tableInfo; } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/support/ColumnCache.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/support/ColumnCache.java index 3fb2115..b91658d 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/support/ColumnCache.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/support/ColumnCache.java @@ -2,7 +2,7 @@ package com.github.yulichang.toolkit.support; import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo; -import com.github.yulichang.config.ConfigProperties; +import com.github.yulichang.adapter.AdapterHelper; import com.github.yulichang.toolkit.FieldStringMap; import com.github.yulichang.toolkit.TableHelper; import com.github.yulichang.wrapper.segments.SelectCache; @@ -31,7 +31,7 @@ public class ColumnCache { return LIST_CACHE.computeIfAbsent(clazz, c -> { TableInfo tableInfo = TableHelper.getAssert(clazz); List list = new ArrayList<>(); - if (ConfigProperties.tableInfoAdapter.mpjHasPK(tableInfo)) { + if (AdapterHelper.getAdapter().mpjHasPK(tableInfo)) { list.add(new SelectCache(clazz, true, tableInfo.getKeyColumn(), tableInfo.getKeyType(), tableInfo.getKeyProperty(), null)); } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractLambdaWrapper.java index b3947c9..d56ffbd 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractLambdaWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/JoinAbstractLambdaWrapper.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.github.yulichang.adapter.AdapterHelper; import com.github.yulichang.config.ConfigProperties; import com.github.yulichang.config.enums.LogicDelTypeEnum; import com.github.yulichang.toolkit.*; @@ -345,7 +346,7 @@ public abstract class JoinAbstractLambdaWrapper LogicInfoUtils.getLogicInfoNoAnd( wrapper.getIndex(), wrapper.getJoinClass(), wrapper.isHasAlias(), wrapper.getAlias() )); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/segments/SelectCache.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/segments/SelectCache.java index b42a2c1..54c6157 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/segments/SelectCache.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/segments/SelectCache.java @@ -3,7 +3,6 @@ package com.github.yulichang.wrapper.segments; import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.github.yulichang.config.ConfigProperties; import com.github.yulichang.toolkit.MPJStringUtils; import com.github.yulichang.toolkit.TableHelper; import lombok.Getter; @@ -85,7 +84,7 @@ public class SelectCache { this.hasTypeHandle = this.tableFieldInfo.getTypeHandler() != null && tableFieldInfo.getTypeHandler() != UnknownTypeHandler.class; if (this.hasTypeHandle) { TableInfo info = TableHelper.getAssert(clazz); - this.typeHandler = getTypeHandler(ConfigProperties.tableInfoAdapter.mpjGetConfiguration(info), tableFieldInfo); + this.typeHandler = getTypeHandler(info.getConfiguration(), tableFieldInfo); } else { this.typeHandler = null; }