b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

mybatis原理_mybatis和ibatis区别_mybatis基本工作原理(2)

电脑杂谈  发布时间:2017-04-08 21:01:09  来源:网络整理

上述代码的功能是根据配置文件mybatis-config.xml 配置文件,创建SqlSessionFactory对象,然后产生SqlSession,执行SQL语句。而mybatis的初始化就发生在第三句:SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream); 现在就让我们看看第三句到底发生了什么。

MyBatis初始化基本过程:

SqlSessionFactoryBuilder根据传入的数据流生成Configuration对象,然后根据Configuration对象创建默认的SqlSessionFactory实例。mybatis原理

初始化的基本过程如下序列图所示:

由上图所示,mybatis初始化要经过简单的以下几步:

1.调用SqlSessionFactoryBuilder对象的build(inputStream)方法;

2.SqlSessionFactoryBuilder会根据输入流inputStream等信息创建XMLConfigBuilder对象;

3.SqlSessionFactoryBuilder调用XMLConfigBuilder对象的parse()方法;

4.XMLConfigBuilder对象返回Configuration对象;

5.SqlSessionFactoryBuilder根据Configuration对象创建一个DefaultSessionFactory对象;

6.SqlSessionFactoryBuilder返回DefaultSessionFactory对象给Client,供Client使用。

SqlSessionFactoryBuilder相关的代码如下所示:

publicSqlSessionFactorybuild(InputStreaminputStream)

{

returnbuild(inputStream,null,null);

}

publicSqlSessionFactorybuild(InputStreaminputStream,Stringenvironment,Propertiesproperties)

{

try

{

//2.创建XMLConfigBuilder对象用来解析XML配置文件,生成Configuration对象

XMLConfigBuilderparser=newXMLConfigBuilder(inputStream,environment,properties);

//3.将XML配置文件内的信息解析成Java对象Configuration对象

Configurationconfig=parser.parse();

//4.根据Configuration对象创建出SqlSessionFactory对象

returnbuild(config);

}

catch(Exceptione)

{

throwExceptionFactory.wrapException("ErrorbuildingSqlSession.",e);

}

finally

{

ErrorContext.instance().reset();

try

{

inputStream.close();

}

catch(IOExceptione)

{

//Intentionallyignore.Preferpreviouserror.

}

}

}

//从此处可以看出,MyBatis内部通过Configuration对象来创建SqlSessionFactory,用户也可以自己通过API构造好Configuration对象,调用此方法创建SqlSessionFactory


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-40254-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 费雯丽
      费雯丽

      还说什么别轻举妄动

    • 杨楠
      杨楠

      但这可能也是这个运动的魅力

      • 宋亚红
        宋亚红

        美国没有预料到的是

    热点图片
    拼命载入中...