RowCallBackHandler 是 JdbcTemplate 的 query 方法中用到的一个接口。接口,基于每一行,用来处理ResultSet结果集的行。
它只有一个方法:void processRow(ResultSet rs) throws SQLException;
如果自己要实现这个方法,就要做到处理ResultSet结果集中的每行的数据,你不能在方法中再去调用next()方法,而应该只是提取当前行的数据。
例如:
@Override
public 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;
--[2012-05-21]---
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。