myBatis源码之SqlSessionFactoryBuilder
2015-12-30 20:03
971 查看
/* * Builds {@link SqlSession} instances. * */ /** * @author Clinton Begin */ public class SqlSessionFactoryBuilder { public SqlSessionFactory build(Reader reader) { return build(reader, null, null); } public SqlSessionFactory build(Reader reader, String environment) { return build(reader, environment, null); } public SqlSessionFactory build(Reader reader, Properties properties) { return build(reader, null, properties); } public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { //解析myBatis配置文件,以字符流的方式 XMLConfigBuilder parser = new XMLConfigBuilder(reader, environment, properties); return build(parser.parse());//获得SqlSessionFactory } 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 build(inputStream, null, null); } public SqlSessionFactory build(InputStream inputStream, String environment) { return build(inputStream, environment, null); } public SqlSessionFactory build(InputStream inputStream, Properties properties) { return build(inputStream, null, properties); } public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { try { //解析myBatis配置文件,以字节流的方式 XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties); return build(parser.parse());//获得SqlSessionFactory } 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 config) { //获得sqlsessionFactory工厂,再从工厂中获得sqlsession return new DefaultSqlSessionFactory(config); } }
相关文章推荐
- MySQL 慢查询日志(Slow Query Log)
- ioS UI-导航控制器(NavigationController)
- HashMap 的遍历key与value的方法 .
- iOS UI-手势(Gesture)
- how to querey user information from sid
- iOS --- 获取UIView的模糊效果截图
- iOS View requiresConstraintBasedLayout 详解
- 小波:FAQ Wavelets: Frequently Asked Questions
- JQue 4000 ry遍历数组
- VJGUI消息设计-兼谈MFC、QT和信号/槽机制
- soapUI生成WebService客户端代码
- UIViewController的基本概念与生命周期
- iOS中文文档:UIView
- 154,UI之注意事项
- UIView层次管理(sendSubviewToBack,bringSubviewToFront)
- iOS中UIButton之 setBackgroundImage 和 setImage的区别
- iOS中UITextField禁止粘贴、禁止选择、禁止全选
- iOS_Core Animation UIView的transform属性
- 使用UITableViewController注意事项
- 用request.files实现异文件上传(开放式上传)