RowCallBackHandler 是 JdbcTemplate 的 query 方法中用到的一個接口。java
接口,基於每一行,用來處理ResultSet結果集的行。sql
它只有一個方法:ide
void processRow(ResultSet rs) throws SQLException; code
void processRow(ResultSet rs) throws SQLException;
若是本身要實現這個方法,就要作處處理ResultSet結果集中的每行的數據,你不能在方法中再去調用next()方法,而應該只是提取當前行的數據。blog
例如:接口
@Override it
ublic User findUserByName(final String userName) { io
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;