• mybatis-01-基本流程


    mybatis执行流程
     
    • 1. 加载配置文件并初始化(SqlSession)
      • 配置文件来源于两个地方,一个是配置文件(主配置文件conf.xml,mapper文件*.xml),
      • 一个是java代码中的注释,将sql的配置信息加载成为一个mappedstatement对象,存储在内存之中(包括传入参数的映射配置,结果映射配置,执行的sql语句)。
    • 2. 接收调用请求
      • 调用mybatis提供的api,传入的参数为sql的id(有namespase和具体sql的id组成)和sql语句的参数对象,mybatis将调用请求交给请求处理层。
    • 3. 处理请求
      • 根据sql的id找到对应的mappedstatament对象。
      • 根据传入参数解析mappedstatement对象,得到最终要执行的sql。
      • 获取数据库连接,执行sql,得到执行结果
      • Mappedstatement对象中的结果映射对执行结果进行转换处理,并得到最终的处理结果。
      • 释放连接资源
    • 4. 返回处理结果

    层级

    • sqlSession
      • sqlSessionFactory
        • configuration
          • mappedStatements
            • 包含所有的mappedStatement 对象

    idea断点调试

     MapperProxy 代理Mapper中有一个sqlSession  sqlSession中有sqlSessionFactory    sqlSessionFactory中有一个configuration

    configuration 中有一个 mappedStatements 中包含了所有mappedstatament集合,所有mapper中定义的方法保存在这里,可以看到

      key:com.huarui.dao.postMapper.deleteByPrimarykey

      value:

        sqlSource:

          sql: 对应的sql语句

      

    mybatis功能架构及执行流程 参考:https://blog.51cto.com/12222886/2052647

  • 相关阅读:
    Pwn-level3
    【mysql】 mysql忘记密码
    【Linux】linux磁盘管理
    【Linux】Linux系统LVM管理及Raid
    【Git】git撤销与回滚
    【linux】Linux系统SELinux简介
    【Linux】Linux中的网络命令
    【Linux】linux中文本操作利器grep,awk,sed
    【Linux】linux正则表达式及通配符
    【Mysql】mysql数据备份
  • 原文地址:https://www.cnblogs.com/youxiu326/p/mybatis-01.html
Copyright © 2020-2023  润新知