mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-06 08:38:26 +08:00
refactor: close https://github.com/mybatis-flex/mybatis-flex/issues/472
This commit is contained in:
parent
e5db83710c
commit
de8f3865c4
@ -65,7 +65,8 @@ public class DataSourceBuilder {
|
||||
}
|
||||
|
||||
try {
|
||||
Class<?> dataSourceClass = Class.forName(dataSourceClassName);
|
||||
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
|
||||
Class<?> dataSourceClass = Class.forName(dataSourceClassName, false, contextClassLoader);
|
||||
Object dataSourceObject = dataSourceClass.newInstance();
|
||||
setDataSourceProperties(dataSourceObject);
|
||||
return (DataSource) dataSourceObject;
|
||||
@ -132,8 +133,9 @@ public class DataSourceBuilder {
|
||||
|
||||
|
||||
private String doDetectDataSourceClass(String className) {
|
||||
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
Class.forName(className);
|
||||
Class.forName(className, false, contextClassLoader);
|
||||
return className;
|
||||
} catch (ClassNotFoundException e) {
|
||||
return null;
|
||||
|
||||
@ -320,9 +320,10 @@ public class FlexConfiguration extends Configuration {
|
||||
|
||||
|
||||
private TableInfo getTableInfo(MappedStatement ms) {
|
||||
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
|
||||
String mapperClassName = ms.getId().substring(0, ms.getId().lastIndexOf("."));
|
||||
try {
|
||||
Class<?> mapperClass = Class.forName(mapperClassName);
|
||||
Class<?> mapperClass = Class.forName(mapperClassName, true, contextClassLoader);
|
||||
return TableInfoFactory.ofMapperClass(mapperClass);
|
||||
} catch (ClassNotFoundException e) {
|
||||
return null;
|
||||
|
||||
@ -58,7 +58,7 @@ public class LambdaUtil {
|
||||
public static <T> Class<?> getImplClass(LambdaGetter<T> getter) {
|
||||
return MapUtil.computeIfAbsent(implClassMap, getter.getClass(), aClass -> {
|
||||
SerializedLambda lambda = getSerializedLambda(getter);
|
||||
return getImplClass(lambda, getter.getClass().getClassLoader());
|
||||
return getImplClass0(lambda);
|
||||
});
|
||||
}
|
||||
|
||||
@ -75,9 +75,8 @@ public class LambdaUtil {
|
||||
|
||||
public static <T> QueryColumn getQueryColumn(LambdaGetter<T> getter) {
|
||||
return MapUtil.computeIfAbsent(queryColumnMap, getter.getClass(), aClass -> {
|
||||
ClassLoader classLoader = getter.getClass().getClassLoader();
|
||||
SerializedLambda lambda = getSerializedLambda(getter);
|
||||
Class<?> entityClass = getImplClass(lambda, classLoader);
|
||||
Class<?> entityClass = getImplClass0(lambda);
|
||||
TableInfo tableInfo = TableInfoFactory.ofEntityClass(entityClass);
|
||||
String propertyName = getFieldName(getter);
|
||||
return tableInfo.getQueryColumnByProperty(propertyName);
|
||||
@ -96,7 +95,8 @@ public class LambdaUtil {
|
||||
}
|
||||
|
||||
|
||||
private static Class<?> getImplClass(SerializedLambda lambda, ClassLoader classLoader) {
|
||||
private static Class<?> getImplClass0(SerializedLambda lambda) {
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
String implClass = getImplClassName(lambda);
|
||||
try {
|
||||
return Class.forName(implClass.replace("/", "."), true, classLoader);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user