升级mybatis-plus版本到 3.4.3

This commit is contained in:
admin 2021-05-21 17:52:14 +08:00
parent f230f52b44
commit 909af5302c

View File

@ -48,11 +48,6 @@ public class MPJInterceptor implements Interceptor {
*/ */
private static final Map<String, MappedStatement> MS_CACHE = new ConcurrentHashMap<>(); private static final Map<String, MappedStatement> MS_CACHE = new ConcurrentHashMap<>();
/**
* 缓存ResultMap
*/
private static final Map<Class<?>, ResultMap> RM_CACHE = new ConcurrentHashMap<>();
@Override @Override
public Object intercept(Invocation invocation) throws Throwable { public Object intercept(Invocation invocation) throws Throwable {
Object[] args = invocation.getArgs(); Object[] args = invocation.getArgs();
@ -116,23 +111,17 @@ public class MPJInterceptor implements Interceptor {
private ResultMap newResultMap(MappedStatement ms, Class<?> resultType) { private ResultMap newResultMap(MappedStatement ms, Class<?> resultType) {
TableInfo tableInfo = TableInfoHelper.getTableInfo(resultType); TableInfo tableInfo = TableInfoHelper.getTableInfo(resultType);
if (tableInfo != null && tableInfo.isAutoInitResultMap()) { if (tableInfo != null && tableInfo.isAutoInitResultMap()) {
ResultMap resultMap = RM_CACHE.get(resultType);
if (resultMap == null) {
if (tableInfo.getEntityType() != resultType) { if (tableInfo.getEntityType() != resultType) {
try { try {
Method info = TableInfoHelper.class.getDeclaredMethod("initTableInfo", Configuration.class, String.class, Class.class); Method info = TableInfoHelper.class.getDeclaredMethod("initTableInfo", Configuration.class, String.class, Class.class);
info.setAccessible(true); info.setAccessible(true);
Object invoke = info.invoke(TableInfoHelper.class, ms.getConfiguration(), ms.getId().substring(0, ms.getId().lastIndexOf(".")), resultType); Object invoke = info.invoke(TableInfoHelper.class, ms.getConfiguration(), ms.getId().substring(0, ms.getId().lastIndexOf(".")), resultType);
tableInfo = (TableInfo) invoke; tableInfo = (TableInfo) invoke;
// tableInfo = TableInfoHelper.initTableInfo(ms.getConfiguration(), ms.getId().substring(0, ms.getId().lastIndexOf(".")), resultType);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
resultMap = initResultMapIfNeed(tableInfo, resultType); return initResultMapIfNeed(tableInfo, resultType);
RM_CACHE.put(resultType, resultMap);
}
return resultMap;
} }
return new ResultMap.Builder(ms.getConfiguration(), ms.getId(), resultType, EMPTY_RESULT_MAPPING).build(); return new ResultMap.Builder(ms.getConfiguration(), ms.getId(), resultType, EMPTY_RESULT_MAPPING).build();
} }