前面说过,我们建立连接,创建statement对象,接下来我们看看如何进行赋值操作
private Statement prepareStatement(StatementHandler handler, Log statementLog) throws SQLException {
Statement stmt;
Connection connection = getConnection(statementLog);
stmt = handler.prepare(connection, transaction.getTimeout());
//赋值操作
handler.parameterize(stmt);
return stmt;
}
赋值操作,Statementhandler对象交给了parameterHandler对象进行操作,我们查看预编译statement这种类型的赋值操作
@Override
public void parameterize(Statement statement) throws SQLException {
parameterHandler.setParameters((PreparedStatement) statement);
}
DefaultParameterHandler类,参数处理器接口的唯一实现类
// 我们的boundsql中的sql: select * from u_user where usercode = ?
@Override
public void setPara