MyBatis源码系列——处理器StatementHandler

原创 鲁班大叔 源码阅读网
文本学习目的是弄清楚StatementHandler设计理念,以及它的实现结构。

一、定义
顾名思议,StatementHandler 就是用于封装JDBC中Statement的操作。即声明SQL、设置参数、执行SQL等。通常一次SQL执行完之后就要关闭它,最多它的生命周期也不会超过一次事务的范围。StatementHandler 也是一样,执行器中每执行一次SQL操作,都会通过Configuration 构建一个新的StatementHandler,用完就丢弃了。它们是1比N的关系。

1.设计理念

如果将StatementHandler中的逻辑,放到执行器中可不可以? 当然可以,但是放到基础执行器,还是放到其它执行器?放到基础执行器,基础执行器逻辑将会非常臃肿,事务、缓存等… 放到实现又会产生大量重复代码。所以MyBatis 作者才设计出StatementHandler 来封装Statement操作。

2.主流程中的位置

StatementHandler 是在每次执行SQL操作时创建,通过Configuration创建。然后在基于它执行Sql声明、参数处理、Sql调用、结果集处理等操作。它与执行器的关系是1:N。
在这里插入图片描述
3.功能职责
StatementHandler 接口共有8个方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值