在執行器中,都會獲取聲明處理器:
public StatementHandler newStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) {
StatementHandler statementHandler = new RoutingStatementHandler(executor, mappedStatement, parameterObject, rowBounds, resultHandler, boundSql);
statementHandler = (StatementHandler) interceptorChain.pluginAll(statementHandler);
return statementHandler;
}
statementHandler = (StatementHandler) interceptorChain.pluginAll(statementHandler);
使用攔截器,聲明處理可以定義插件
使用路由聲明處理器,可以獲取SimpleStatementHandler、PreparedStatementHandler、CallableStatementHandler三大處理器。