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