zoukankan      html  css  js  c++  java
  • mybatis运行原理

    mybatis运行原理

    运行过程中涉及到的类或者接口

    • Resources(c) :用于加载mybatis核心配置文件
    • XMLConfigBuilder(c) :用于解析xml文件(核心配置文件)
    • Configuration(c):用于存放xml文件解析后的结果
    • DefaultSqlSessionFactory(c):是SqlSessionFactory(I)的实现类,创建时需要使用Configuration对象。
    • SqlSession(I):是mybatis操作的核心
    • DefaultSqlSession(C):是SqlSession接口的实现类。
    • TransactionFactory(I):用于生产Transaction对象
    • Transaction(I):用于表示操作数据库的事务对象
    • Executor(I):是MyBatis的核心执行器,类似于jdbc中的Statement,常用的实现类是SimpleExecutor.

    文字描述

          当mybatis运行开始时,先要通过Resources加载核心配置文件,之后使用XMLConfigBuilder对配置文件进行解析,将解析结果封装为Configuration对象,接着,使用Configuration构建一个DefaultSqlSessionFactory对象,至此,SqlSession工厂构建完成。接下来,通过工厂对象调用openSession方法创建SqlSession对象。在这个过程中,需要通过TransactionFactory对象,并且,还需要创建核心执行器Executor对象,之后通过这些对象来创建DefaultSqlSession对象,至此,SqlSession对象创建成功。

       之后,通过SqlSession对象来执行响应的 操作,如果执行成功,调用commit方法来提交事务;如果失败,调用rollback方法事务回滚。最后,调用close方法关闭session资源。以上,就是MyBatis的运行原理。

  • 相关阅读:
    ThinkPhp3.2.3缓存漏洞复现以及修复建议
    thinkphp3.2.3 缓存导致getshell终极解决办法
    phpstudy后门漏洞复现php5.2
    phpStudy后门漏洞利用复现
    SQL语句利用日志写shell拿权限
    针对phpstudy默认设置的利用
    黑暗世界的搜索引擎
    CVE-2019-0708—微软RDP远程桌面代码执行漏洞复现
    记一次渗透某XX站
    通过USB 2.0电缆手动设置内核模式调试
  • 原文地址:https://www.cnblogs.com/wq-9/p/10246389.html
Copyright © 2011-2022 走看看