|
@@ -15,17 +15,15 @@
|
|
*/
|
|
*/
|
|
package com.baomidou.mybatisplus;
|
|
package com.baomidou.mybatisplus;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.entity.GlobalConfiguration;
|
|
|
|
-import com.baomidou.mybatisplus.toolkit.IOUtils;
|
|
|
|
-import org.apache.ibatis.exceptions.ExceptionFactory;
|
|
|
|
-import org.apache.ibatis.executor.ErrorContext;
|
|
|
|
-import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
|
-import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
|
|
|
-
|
|
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
import java.io.Reader;
|
|
import java.io.Reader;
|
|
import java.util.Properties;
|
|
import java.util.Properties;
|
|
|
|
|
|
|
|
+import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
|
+import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
|
|
|
+
|
|
|
|
+import com.baomidou.mybatisplus.entity.GlobalConfiguration;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* replace default SqlSessionFactoryBuilder class
|
|
* replace default SqlSessionFactoryBuilder class
|
|
@@ -40,33 +38,15 @@ public class MybatisSessionFactoryBuilder extends SqlSessionFactoryBuilder {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public SqlSessionFactory build(Reader reader, String environment, Properties properties) {
|
|
public SqlSessionFactory build(Reader reader, String environment, Properties properties) {
|
|
- try {
|
|
|
|
- MybatisXMLConfigBuilder parser = new MybatisXMLConfigBuilder(reader, environment, properties);
|
|
|
|
- globalConfig.setGlobalConfig(parser.getConfiguration());
|
|
|
|
- return build(parser.parse());
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw ExceptionFactory.wrapException("Error building SqlSession.", e);
|
|
|
|
- } finally {
|
|
|
|
- ErrorContext.instance().reset();
|
|
|
|
- IOUtils.closeQuietly(reader);
|
|
|
|
- }
|
|
|
|
|
|
+ return globalConfig.signGlobalConfig(super.build(reader, environment, properties));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
|
|
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
|
|
- try {
|
|
|
|
- MybatisXMLConfigBuilder parser = new MybatisXMLConfigBuilder(inputStream, environment, properties);
|
|
|
|
- globalConfig.setGlobalConfig(parser.getConfiguration());
|
|
|
|
- return build(parser.parse());
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw ExceptionFactory.wrapException("Error building SqlSession.", e);
|
|
|
|
- } finally {
|
|
|
|
- ErrorContext.instance().reset();
|
|
|
|
- IOUtils.closeQuietly(inputStream);
|
|
|
|
- }
|
|
|
|
|
|
+ return globalConfig.signGlobalConfig(super.build(inputStream, environment, properties));
|
|
}
|
|
}
|
|
|
|
|
|
- //TODO 注入全局配置
|
|
|
|
|
|
+ // TODO 注入全局配置
|
|
public void setGlobalConfig(GlobalConfiguration globalConfig) {
|
|
public void setGlobalConfig(GlobalConfiguration globalConfig) {
|
|
this.globalConfig = globalConfig;
|
|
this.globalConfig = globalConfig;
|
|
}
|
|
}
|