
com.penglecode.mybatis.ex.ExSqlSessionFactoryBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mybatis-ex Show documentation
Show all versions of mybatis-ex Show documentation
mybatis的自定义扩展。
版本1.0.0 支持mybatis 3.2|3.3版本
版本1.0.1 支持mybatis 3.4版本
package com.penglecode.mybatis.ex;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
import org.apache.ibatis.exceptions.ExceptionFactory;
import org.apache.ibatis.executor.ErrorContext;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.penglecode.mybatis.ex.spring.SimpleExSqlSessionFactoryBean;
/**
* 扩展的SqlSessionFactory builder类,用于构建DefaultExSqlSessionFactory,使用:
*
* @see SimpleExSqlSessionFactoryBean
* @author pengpeng
* @date 2014年7月7日 下午11:00:18
* @version 1.0
*/
public class ExSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder {
public SqlSessionFactory build(Reader reader) {
return super.build(reader);
}
public SqlSessionFactory build(Reader reader, String environment) {
return super.build(reader, environment);
}
public SqlSessionFactory build(Reader reader, Properties properties) {
return super.build(reader, properties);
}
public SqlSessionFactory build(Reader reader, String environment, Properties properties) {
try {
ExXMLConfigBuilder parser = new ExXMLConfigBuilder(reader, environment, properties);
return build(parser.parse());
} catch (Exception e) {
throw ExceptionFactory.wrapException("Error building SqlSession.", e);
} finally {
ErrorContext.instance().reset();
try {
reader.close();
} catch (IOException e) {
// Intentionally ignore. Prefer previous error.
}
}
}
public SqlSessionFactory build(InputStream inputStream) {
return super.build(inputStream);
}
public SqlSessionFactory build(InputStream inputStream, String environment) {
return super.build(inputStream, environment);
}
public SqlSessionFactory build(InputStream inputStream,
Properties properties) {
return super.build(inputStream, properties);
}
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
try {
ExXMLConfigBuilder parser = new ExXMLConfigBuilder(inputStream, environment, properties);
return build(parser.parse());
} catch (Exception e) {
throw ExceptionFactory.wrapException("Error building SqlSession.", e);
} finally {
ErrorContext.instance().reset();
try {
inputStream.close();
} catch (IOException e) {
// Intentionally ignore. Prefer previous error.
}
}
}
public SqlSessionFactory build(Configuration configuration) {
if(configuration instanceof ExConfiguration){
return new DefaultExSqlSessionFactory(configuration);
}
throw new IllegalArgumentException("Parameter 'configuration' must be type of " + ExConfiguration.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy