zoukankan      html  css  js  c++  java
  • 【MyBatis】创建SqlSession源码剖析

    1.根据将xml配置文件变成输入流,并调用sqlSessionFactoryBuilder的build方法

        static{
            try {
                //使用Mybatis第一步:获取sqlSessionFactory对象
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }

    我们来看一下build方法源码

    在build方法里面 调用了XMLConfigBuilder对象 用来解析配置文件流

     public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
            SqlSessionFactory var5;
            try {
                XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties);
                var5 = this.build(parser.parse());
            } catch (Exception var14) {
                throw ExceptionFactory.wrapException("Error building SqlSession.", var14);
            } finally {
                ErrorContext.instance().reset();
    
                try {
                    inputStream.close();
                } catch (IOException var13) {
                }
    
            }
    
            return var5;
        }

    然后实例化SqlSessionFactory

    2.将配置文件信息 保存在Configuration对象中

    executor是执行器 是MyBatis核心

    tcm是事务管理器

     3.创建SqlSession

     

    建立sql语句,如果成功则返回,不成功则到事务管理器

  • 相关阅读:
    java实现httpclient 访问
    推荐博文
    Running With xpi
    1 Spring MVC 原理
    windows服务相关
    求职面试三部曲
    使用mvn插件执行工程单元测试OOM的解决办法
    maven-surefire插件问题
    小问题
    NFA到DFA实例
  • 原文地址:https://www.cnblogs.com/cckong/p/14328640.html
Copyright © 2011-2022 走看看