image-20211031125517372

sequenceDiagram participant SqlSession participant Excutor participant StatementHandler participant parameterHandler participant ResultSetHandler participant TypeHandler participant ResultSet participant JDBC SqlSession->>Excutor: Excutor->>StatementHandler: StatementHandler-->>parameterHandler: StatementHandler-->>JDBC: parameterHandler-->>TypeHandler: parameterHandler->>JDBC: JDBC->>ResultSet: ResultSet-->>TypeHandler: ResultSet-->>ResultSetHandler: TypeHandler-->>ResultSetHandler: ResultSetHandler->>StatementHandler: StatementHandler->>Excutor: Excutor->>SqlSession: Note left of SqlSession: asa
flowchart TD subgraph configuration mappedStatement1 --> mappedStatement2 end

configuration:

MyBatis框架的配置信息有两种,一种是配置MyBatis框架属性的主配置文件;另一种是配置执行SQL语句的Mapper配置文件。Configuration的作用是描述MyBatis主配置文件的信息

个人理解:

作为注册信息的载体,各种属性开关,Configuration组件还作为Executor、StatementHandler、ResultSetHandler、ParameterHandler组件的工厂类,用于创建这些组件的实例

excutor

createTime: 2021-12-08T12:19:57+08:00
updateTime: 2021-12-08T12:19:57+08:00

MappedStatement

createTime: 2021-12-08T12:19:57+08:00
updateTime: 2021-12-08T12:19:57+08:00

StatementHandler

StatementHandler组件封装了对JDBC Statement的操作,例如设置Statement对象的fetchSize属性、设置查询超时时间、调用JDBC Statement与数据库交互等。

TypeHandler

处理JDBC类型与Java类型之间的转换

ParameterHandler

如果SQL语句中有参数占位符,在执行SQL语句之前,就需要为参数占位符设置值。ParameterHandler的作用是在PreparedStatementHandler和CallableStatementHandler操作对应的Statement执行数据库交互之前为参数占位符设置值

ResultSetHandler

ResultSetHandler用于在StatementHandler对象执行完查询操作或存储过程后,对结果集或存储过程的执行结果进行处理

��行完查询操作或存储过程后,对结果集或存储过程的执行结果进行处理