RowCallBackHandler 是 JdbcTemplate 的 query 方法中用到的一个接口。
接口,基于每一行,用来处理ResultSet结果集的行。
它只有一个方法:
Java代码
void processRow(ResultSet rs) throws SQLException;
void processRow(ResultSet rs) throws SQLException;
如果自己要实现这个方法,就要做到处理ResultSet结果集中的每行的数据,你不能在方法中再去调用next()方法,而应该只是提取当前行的数据。
例如:
Java代码
@Override
ublic User findUserByName(final String userName) {
String sql = "SELECT * FROM t_user WHERE user_name=?";
final User user = new User();
jdbcTemplate.query(sql, new Object[]{userName}, new RowCallbackHandler(){
@Override
public void processRow(ResultSet rst) throws SQLException {
user.setUserId(rst.getInt("user_id"));
user.setUserName(userName);
user.setPassword(rst.getString("password"));
}
});
return user;