diff --git a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java index 441e1ca..b975274 100644 --- a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java +++ b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java @@ -2,9 +2,11 @@ package com.github.yulichang.injector; import com.baomidou.mybatisplus.core.injector.AbstractMethod; import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; +import com.baomidou.mybatisplus.core.injector.methods.*; import com.baomidou.mybatisplus.core.mapper.Mapper; import com.baomidou.mybatisplus.core.metadata.MPJTableAliasHelper; import com.baomidou.mybatisplus.core.metadata.MPJTableInfoHelper; +import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.ClassUtils; import com.github.yulichang.method.*; @@ -12,8 +14,12 @@ import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.core.GenericTypeResolver; +import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toList; /** * SQL 注入器 @@ -24,9 +30,43 @@ import java.util.Objects; @ConditionalOnMissingBean(DefaultSqlInjector.class) public class MPJSqlInjector extends DefaultSqlInjector { - @Override + @SuppressWarnings("unused") public List getMethodList(Class mapperClass) { - List list = super.getMethodList(mapperClass); + List list = Stream.of( + new Insert(), + new Delete(), + new DeleteByMap(), + new DeleteById(), + new DeleteBatchByIds(), + new Update(), + new UpdateById(), + new SelectById(), + new SelectBatchByIds(), + new SelectByMap(), + new SelectOne(), + new SelectCount(), + new SelectMaps(), + new SelectMapsPage(), + new SelectObjs(), + new SelectList(), + new SelectPage() + ).collect(toList()); + list.addAll(getJoinMethod()); + return list; + } + + /** + * mybatis plus 3.4.3.2 + */ + @Override + public List getMethodList(Class mapperClass, TableInfo tableInfo) { + List list = super.getMethodList(mapperClass, tableInfo); + list.addAll(getJoinMethod()); + return list; + } + + private List getJoinMethod() { + List list = new ArrayList<>(); list.add(new SelectJoinCount()); list.add(new SelectJoinOne()); list.add(new SelectJoinList()); diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 2d85f55..ad949f6 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -138,7 +138,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper selectIgnore(SFunction... columns) { if (ArrayUtils.isNotEmpty(columns)) { for (SFunction s : columns) { - ignoreColumns.add(this.alias + StringPool.DOT + getColumnCache(s).getColumn()); + ignoreColumns.add(this.alias + StringPool.DOT + super.columnToString(s, false)); } } return typedThis; diff --git a/src/main/java/com/github/yulichang/toolkit/ReflectionKit.java b/src/main/java/com/github/yulichang/toolkit/ReflectionKit.java index 63e99a3..ff371e9 100644 --- a/src/main/java/com/github/yulichang/toolkit/ReflectionKit.java +++ b/src/main/java/com/github/yulichang/toolkit/ReflectionKit.java @@ -182,16 +182,4 @@ public final class ReflectionKit { public static Class resolvePrimitiveIfNecessary(Class clazz) { return (clazz.isPrimitive() && clazz != void.class ? PRIMITIVE_TYPE_TO_WRAPPER_MAP.get(clazz) : clazz); } - - /** - * 设置可访问对象的可访问权限为 true - * - * @param object 可访问的对象 - * @param 类型 - * @return 返回设置后的对象 - */ - public static T setAccessible(T object) { - return AccessController.doPrivileged(new SetAccessibleAction<>(object)); - } - }