美文网首页
MyBatis源码解析

MyBatis源码解析

作者: 抬头挺胸才算活着 | 来源:发表于2022-01-09 10:51 被阅读0次

执行的流程

  • 加载配置
    主配置文件存放在Configuration类中
    SQL配置信息存放在MappedStatement中
  • 查询流程
    根据传入ID查找MappedStatement,根据传入参数解析MappedStatement,获取数据库连接,得到最终的SQL语句和传入参数,并得到执行结果,对执行结果进行转化,得到最终的执行结果,最后释放连接资源。
    中间更加具体的部分见下面。

整体的框架

分层次从上到下,按照一个执行语句的调用顺序来:

  • SqlSession
    顶层API,表示和数据库交互的绘画,有数据库的增删改查等方法。

  • Executor
    负责动态语句生成和查询缓存维护

  • StatementHandler
    负责JDBC的Statement的交互,包括参数的设置和返回结果的转化,StatemenetHandler分为ParameterHandler和ResultSetHandler两部分。TypeHandler负责java数据类型和jdbc数据类型之间的转化。


  • 其他的类
    除了以上按照调用顺序的类,还有以下几个类:

  • MappedStatement
    配置加载的类

  • SqlSource
    负责动态地生成SQL语句,将数据封装到BoundSql对象,并返回。

  • BoundSql表示动态生成的SQL语句一级相应的参数信息。

相关文章

网友评论

      本文标题:MyBatis源码解析

      本文链接:https://www.haomeiwen.com/subject/vsdycrtx.html