Mybatis源码小结

1. 组成

总共会需要几个工具

  • configuration:加载配置
    • 内部的environment,加载数据源(也就是封装了JDBC获取连接的操作)
    • mybatis-config.xml,获取映射集合mappers
    • mybatis.xml文件,获取各个mapper的主要sql语句
  • sqlsession:SQL会话,也就是用户和DB之间沟通的桥梁
    • 包含全局configuration
    • 包含全局执行器
  • executor:执行器,用来真正执行sql语句
    • statementHandler:执行sql前置工作(设置读取sql的时间、条数等)
    • resultHandler:执行sql并获取结果(也就是封装了JDBC的resultset)
      • resultsetHandler:封装结果集(对resultset滚动读取并封装)
  • mapper:用来存储映射相关,SQL会话的武器
    • mapperRepository:存储mapper接口(配置文件的namespace)和对应映射
    • mapperProxy:mapper接口的代理类
    • mapperMethod:mapper接口对应方法(封装SQL语句)
      • SQLCommand:封装SQL
      • methodSignature:调整参数映射

2. 流程

  1. 【configuration】加载配置文件
  2. 【SQLSession】打开一个会话
  3. 【MapperRepository】找到接口映射
  4. 【MapperProxy-MapperMethod】执行接口方法
  5. 【SQLSession-Executor】真正执行者
  6. 【StatementHandler-ResultHandler】封装执行结果

3. 设计模式

  1. 工厂方法模式。
  2. 建造者模式。
  3. 装饰模式。
  4. 代理模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值