使用BeanPropertyRowMapper实现接口RowMapper ,不需要手动书写映射。
//手动书写映射,字段与表中字段名一致
public User sum(String a, String b) {
User u = null;
List<User > list = new ArrayList<User >();
sql = "select * from USER where uname = ?" ;
list = jdbcTemplate.query(sql, new RowMapper<User>(){
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
user.setUid(rs.getInt("uid"));
user.setUname(rs.getString("uname"));
user.setUpwd(rs.getString("upwd"));
return user;
}
});
u = list.get(0);
return u;
}
//使用BeanPropertyRowMapper实现接口,代码更简洁
public User sum(String a, String b) {
User res = null;
List<User> list = new ArrayList<User>();
sql = "select * from USER where uname = ?" ;
list = (List<User>)jdbcTemplate.query(sql,
new Object[]{"1"},new BeanPropertyRowMapper(User.class));
res = list.get(0);
return res;
}
需要注意
BeanPropertyRowMapper是根据字段名和实体类中的标准Setter方法进行映射。也就是说,我们需要使表中的字段名和实体类的成员变量名称必须一致。