Spring的JdbcTemplate类中的RowCallbackHandler类

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]---

阅读 208

推荐阅读