Mybatis之jdbc处理器(四)

一、前言:

​ mybatis框架有四大步骤,分别为接口代理、门面会话、执行器、jdbc处理器,本文将针对jdbc处理器进行展开,如果对statement执行器不熟悉的,请先看【 jdbc之statement执行器 】一文.

二、jdbc处理器

  • jdbc处理器关系图

    StatementHandler是jdbc处理器接口

    RoutingStatementHandler是statement的路由处理器,负责生成指定的StatementHandler并路由指定操作

    BaseStatementHandler是基础处理器(抽象类),负责处理子类的共性(设置超时时间、设置读取大小、自动生成主键、关闭statement),它的子类有SimpleStatementHandler(简单statement处理器)、PreparedStatementHandler(预处理statement处理器)、CallableStatementHandler(存储过程statement处理器).

    avatar

  • StatementHandler

    StatementHandler是mybatis中的处理器接口

    avatar

  • RoutingStatementHandler

    statement的路由处理器,主要生成指定的StatementHandler并路由指定操作

    avatar

  • BaseStatementHandler

    基础处理器,负责处理子类的共性(设置超时时间、设置读取大小、自动生成主键、关闭statement).

    avatar

  • SimpleStatementHandler

    简单statement处理器,创建简单执行器。

    avatar

  • PreparedStatementHandler

    预处理statement处理器,创建预处理执行器。

    avatar

  • CallableStatementHandler

    存储过程statement处理器,创建存储过程执行器,注册存储过程的出参.

    avatar

三、存在BaseStatementHandler,为什么还要设计SimpleStatementHandler、PreparedStatementHandler、CallableStatementHandler?

​ 可以观看Mybatis之Executor执行器(一)中有讲述.

四、总结

​ 学完jdbc处理器就知道是对statement执行器进行了对应的封装啦!里面的设计还是非常巧妙的,值得各位小伙伴学习哟!

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

请我喝杯咖啡吧~

支付宝
微信