public Agent getAgent(finalint id) {
String sql = "select * from t_agent where id = ?";
final Agent agent = new Agent();
jdbcTemplate.query(sql, new Object[] { id }, new RowCallbackHandler() {
publicvoidprocessRow(ResultSet rs) throws SQLException {
agent.setAge(rs.getInt("age"));
agent.setName(rs.getString("name"));
agent.setSex(rs.getString("sex"));
}
});
return agent;
}
2、多条数据结果集的处理(RowCallbackHandler)
public List<Agent> getAgent(finalint fromId , finalint toId) {
String sql = "select * from t_agent where id between ? and ?";
final List<Agent> agents = new ArrayList<Agent>();
jdbcTemplate.query(sql, new Object[] { fromId,toId }, new RowCallbackHandler() {
publicvoidprocessRow(ResultSet rs) throws SQLException {
Agent agent = new Agent();
agent.setAge(rs.getInt("age"));
agent.setName(rs.getString("name"));
agent.setSex(rs.getString("sex"));
agents.add(agent);
}
});
return agents;
}
3、使用RowMapper映射多行数据
public List<Agent> getAgent(finalint fromId, finalint toId){
final String sql = "select userName,sex,age from t_agent where id between ? and ?";
return jdbcTemplate.query(sql, new Object[]{fromId , toId}, new RowMapper<Agent>() {
public Agent mapRow(ResultSet rs, int rowNum) throws SQLException {
Agent agent = new Agent();
agent.setAge(rs.getInt("age"));
agent.setName(rs.getString("userName"));
agent.setSex(rs.getString("sex"));
return agent;
}
});
}