您的位置:首页 > 其它

JdbcTemplate 与 entity 映射

2015-09-11 18:03 375 查看
jdbcTemplate.queryForObject(sql, params, new UserVote()); // 一个对象

jdbcTemplate.query(sql, new Object[] { id }, new UserVote()); // 一个list


这个地方的 UserVote需要实现implements RowMapper<UserVote> 进而实现方法public UserVote mapRow(ResultSet rs, int rowNum) throws SQLException

在里面进行手动映射。

/**
*
* JdbcTemplate 映射方法
*/
@Override
public UserVote mapRow(ResultSet rs, int rowNum) throws SQLException {
UserVote userVote = new UserVote();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String strDate = rs.getString("create_time");
Date date = null;
try {
date = sdf.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}

userVote.setCreateTime(date); // 可以直接写成rs.getDate()
userVote.setId(rs.getString("id"));
return userVote;                 // 并不能直接return this.会导致一直返回同一个对象
}


注意,实现 RowMapper 是可以返回一个对象,和一个list的,而在mapRow 方法中,只需要反回一个对象即可

2016年1月27日 17:59:05

可以不用实现RowMapper,使用

BeanPropertyRowMapper.newInstance(A.class)
即可。
另外,jdbcTemplate可以做数据库列名到Java驼峰式的转换,例如:s_name 可以自动转到 sName。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: