- Executor
当创建SqlSession时Executor伴随其产生,Executor调用SqlSession的增删改查操作并给增删改查操作传入SQL标签的详细信息及参数等信息,还负责创建另外三个对象来参与执行SQL语句。 - StatementHandler
负责SQL语句的预编译/编译工作,会调度ParameterHandler进行参数设置。 - ParameterHandler
负责参数设置。
注:
(1)当statementType=“STATEMENT”,进行参数设置时,会调用SimpleStatementHandler中的parameterize方法,但是该方法中的方法体为空,见代码块1。
(2)当statementType=“PREPARED”,进行参数设置时,会调用PreparedStatementHandler中的parameterize方法(该方法是ParameterHandler类中的方法),见代码块2。
@Override
public void parameterize(Statement statement) {
}
@Override
public void parameterize(Statement statement) throws SQLException {
parameterHandler.setParameters((PreparedStatement) statement);
}
- ResultSetHandler
负责对查询结果进行封装处理。