日期:2014-05-16  浏览次数:20454 次

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;
	}

?遗留问题:javap -c