JdbcTemplate 与 entity 映射

来源:互联网 发布:中国移动宽带网络测速 编辑:程序博客网 时间:2024/06/07 02:41
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 映射方法 */@Overridepublic 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。


0 0
原创粉丝点击