论坛首页 Java版 Spring

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

浏览 328 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-06 关键字: jdbctemplate使用
在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的工作,不知道再之后,他会不会进一步发展一些让人振奋的功能。
   
0 请登录后投票
时间:2008-05-06
我想不太会了,毕竟重复发明轮子不是Rod的习惯,hibernate已经足够强大.
   
0 请登录后投票
论坛首页 Java版 Spring

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)