前面说过,我们建立连接,创建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

本文探讨在MyBatis中如何对Statement对象进行参数赋值,涉及ParameterHandler的角色以及Java类型转化为JDBC类型的过程。通过分析预编译Statement的赋值操作,解释了类型推断的重要性以及直接指定JDBC类型的影响。
最低0.47元/天 解锁文章
1623

被折叠的 条评论
为什么被折叠?



