论坛首页 Java企业应用论坛

spring2.5对应JdbcTemplate提供的一点点简化

浏览 4897 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-05-06  
在spring2.5以前时使用JdbcTemplate总会被RowMapper所烦恼,比如
private class JdbcPetRowMapper implements ParameterizedRowMapper<JdbcPet> {

		public JdbcPet mapRow(ResultSet rs, int rownum) throws SQLException {
			JdbcPet pet = new JdbcPet();
			pet.setId(rs.getInt("id"));
			pet.setName(rs.getString("name"));
			pet.setBirthDate(rs.getDate("birth_date"));
			pet.setTypeId(rs.getInt("type_id"));
			pet.setOwnerId(rs.getInt("owner_id"));
			return pet;
		}
	}

但是现在可以不用如此了
可以使用ParameterizedBeanPropertyRowMapper类,它实现了RowMapper接口。
this.simpleJdbcTemplate.queryForObject(
					"SELECT id, first_name, last_name, address, city, telephone FROM owners WHERE id=?",
					ParameterizedBeanPropertyRowMapper.newInstance(Owner.class),
					id)

是不是简单多了,就是通过一个反射来实现的。
   发表时间:2008-05-06  
我以前用apache的beantool
0 请登录后投票
   发表时间:2008-05-06  
不仅如此,Spring2.5还提供了name的自动转化。例如,他会把你SQL中的first_name自动转化成JavaBean中的firstName。

所以目前情况下,Spring已经可以完成很多ORM的工作,不知道再之后,他会不会进一步发展一些让人振奋的功能。
5 请登录后投票
   发表时间:2008-05-06  
我想不太会了,毕竟重复发明轮子不是Rod的习惯,hibernate已经足够强大.
0 请登录后投票
   发表时间:2008-05-26  
感觉这个功能自己也可以实现的, spring帮忙做了,证明还是很体贴的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics