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语句,如果成功则返回,不成功则到事务管理器

  • 相关阅读:
    js的浅拷贝与深拷贝
    用Nodejs连接MySQL(原文链接)
    HTML5交互性图表库
    GitHub Desktop离线安装包
    docker--Dockerfile--sonarqube
    docker --Nexus仓库
    docker --Dockerfile--一些语法
    zookeeper 四字命令
    docker --swarm创建一个集群
    docker --swarm启动2375端口监听
  • 原文地址:https://www.cnblogs.com/cckong/p/14328640.html
Copyright © 2011-2022 走看看