mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-11 00:02:22 +08:00
style: 简化代码
This commit is contained in:
parent
7a1afacfcb
commit
79e875f8d1
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
/**
|
||||
* 子查询别名
|
||||
*/
|
||||
|
@ -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()
|
||||
));
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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 ->
|
||||
|
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
@ -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)) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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()
|
||||
));
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user