style: 简化代码

This commit is contained in:
yulichang 2024-05-31 06:19:46 +08:00
parent 7a1afacfcb
commit 79e875f8d1
12 changed files with 27 additions and 56 deletions

View File

@ -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<Field> supplier) {
return fieldInfo.getField();
}

View File

@ -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<Field> supplier) {
return is330 ? supplier.get() : IAdapter.super.mpjGetField(fieldInfo, null);

View File

@ -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();
/**
* 子查询别名
*/

View File

@ -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<T, Children extends KtAbstractLamb
if (StringUtils.isBlank(wrapper.from.getStringValue())) {
if (this.subLogicSql && this.logicDelType == LogicDelTypeEnum.ON) {
TableInfo tableInfo = TableHelper.getAssert(wrapper.getJoinClass());
if (ConfigProperties.tableInfoAdapter.mpjHasLogic(tableInfo)) {
if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo)) {
wrapper.appendSqlSegments(APPLY, () -> LogicInfoUtils.getLogicInfoNoAnd(
wrapper.getIndex(), wrapper.getJoinClass(), wrapper.isHasAlias(), wrapper.getAlias()
));

View File

@ -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);
}
}

View File

@ -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<T> extends AbstractWrapper<T, String, MPJQueryWrapp
@SuppressWarnings({"DuplicatedCode", "UnusedReturnValue"})
public final MPJQueryWrapper<T> 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 ->

View File

@ -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<T> or MPJBaseMapper<T>",
entityClass.getSimpleName()));
}
}
}

View File

@ -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)) {

View File

@ -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<T> or MPJBaseMapper<T>",
clazz.getSimpleName()));
}
return tableInfo;
}
}

View File

@ -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<SelectCache> 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));
}

View File

@ -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<T, Children extends JoinAbstract
if (StringUtils.isBlank(wrapper.from.getStringValue())) {
if (this.subLogicSql && this.logicDelType == LogicDelTypeEnum.ON) {
TableInfo tableInfo = TableHelper.getAssert(wrapper.getJoinClass());
if (ConfigProperties.tableInfoAdapter.mpjHasLogic(tableInfo)) {
if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo)) {
wrapper.appendSqlSegments(APPLY, () -> LogicInfoUtils.getLogicInfoNoAnd(
wrapper.getIndex(), wrapper.getJoinClass(), wrapper.isHasAlias(), wrapper.getAlias()
));

View File

@ -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;
}