|
@@ -15,11 +15,50 @@
|
|
|
*/
|
|
|
package com.baomidou.mybatisplus.core;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
|
|
|
-import org.apache.ibatis.annotations.*;
|
|
|
-import org.apache.ibatis.annotations.ResultMap;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.lang.annotation.Annotation;
|
|
|
+import java.lang.reflect.Array;
|
|
|
+import java.lang.reflect.GenericArrayType;
|
|
|
+import java.lang.reflect.Method;
|
|
|
+import java.lang.reflect.ParameterizedType;
|
|
|
+import java.lang.reflect.Type;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Locale;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.Properties;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import org.apache.ibatis.annotations.Arg;
|
|
|
+import org.apache.ibatis.annotations.CacheNamespace;
|
|
|
+import org.apache.ibatis.annotations.CacheNamespaceRef;
|
|
|
+import org.apache.ibatis.annotations.Case;
|
|
|
+import org.apache.ibatis.annotations.ConstructorArgs;
|
|
|
+import org.apache.ibatis.annotations.Delete;
|
|
|
+import org.apache.ibatis.annotations.DeleteProvider;
|
|
|
+import org.apache.ibatis.annotations.Insert;
|
|
|
+import org.apache.ibatis.annotations.InsertProvider;
|
|
|
+import org.apache.ibatis.annotations.Lang;
|
|
|
+import org.apache.ibatis.annotations.MapKey;
|
|
|
+import org.apache.ibatis.annotations.Options;
|
|
|
import org.apache.ibatis.annotations.Options.FlushCachePolicy;
|
|
|
+import org.apache.ibatis.annotations.Property;
|
|
|
+import org.apache.ibatis.annotations.Result;
|
|
|
+import org.apache.ibatis.annotations.ResultMap;
|
|
|
+import org.apache.ibatis.annotations.ResultType;
|
|
|
+import org.apache.ibatis.annotations.Results;
|
|
|
+import org.apache.ibatis.annotations.Select;
|
|
|
+import org.apache.ibatis.annotations.SelectKey;
|
|
|
+import org.apache.ibatis.annotations.SelectProvider;
|
|
|
+import org.apache.ibatis.annotations.TypeDiscriminator;
|
|
|
+import org.apache.ibatis.annotations.Update;
|
|
|
+import org.apache.ibatis.annotations.UpdateProvider;
|
|
|
import org.apache.ibatis.binding.BindingException;
|
|
|
import org.apache.ibatis.binding.MapperMethod;
|
|
|
import org.apache.ibatis.builder.BuilderException;
|
|
@@ -36,7 +75,15 @@ import org.apache.ibatis.executor.keygen.KeyGenerator;
|
|
|
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
|
|
|
import org.apache.ibatis.executor.keygen.SelectKeyGenerator;
|
|
|
import org.apache.ibatis.io.Resources;
|
|
|
-import org.apache.ibatis.mapping.*;
|
|
|
+import org.apache.ibatis.mapping.Discriminator;
|
|
|
+import org.apache.ibatis.mapping.FetchType;
|
|
|
+import org.apache.ibatis.mapping.MappedStatement;
|
|
|
+import org.apache.ibatis.mapping.ResultFlag;
|
|
|
+import org.apache.ibatis.mapping.ResultMapping;
|
|
|
+import org.apache.ibatis.mapping.ResultSetType;
|
|
|
+import org.apache.ibatis.mapping.SqlCommandType;
|
|
|
+import org.apache.ibatis.mapping.SqlSource;
|
|
|
+import org.apache.ibatis.mapping.StatementType;
|
|
|
import org.apache.ibatis.parsing.PropertyParser;
|
|
|
import org.apache.ibatis.reflection.TypeParameterResolver;
|
|
|
import org.apache.ibatis.scripting.LanguageDriver;
|
|
@@ -47,11 +94,8 @@ import org.apache.ibatis.type.JdbcType;
|
|
|
import org.apache.ibatis.type.TypeHandler;
|
|
|
import org.apache.ibatis.type.UnknownTypeHandler;
|
|
|
|
|
|
-import java.io.IOException;
|
|
|
-import java.io.InputStream;
|
|
|
-import java.lang.annotation.Annotation;
|
|
|
-import java.lang.reflect.*;
|
|
|
-import java.util.*;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -102,11 +146,9 @@ public class MybatisMapperAnnotationBuilder extends MapperAnnotationBuilder {
|
|
|
assistant.setCurrentNamespace(type.getName());
|
|
|
parseCache();
|
|
|
parseCacheRef();
|
|
|
- Method[] methods = type.getMethods();
|
|
|
// TODO 注入 CURD 动态 SQL (应该在注解之前注入)
|
|
|
- if (GlobalConfigUtils.getSuperMapperClass(configuration).isAssignableFrom(type)) {
|
|
|
- GlobalConfigUtils.getSqlInjector(configuration).inspectInject(assistant, type);
|
|
|
- }
|
|
|
+ GlobalConfigUtils.getSqlInjector(configuration).inspectInject(assistant, type);
|
|
|
+ Method[] methods = type.getMethods();
|
|
|
for (Method method : methods) {
|
|
|
try {
|
|
|
// issue #237
|