是否有一种在MapRow的Resultset中获取列的通用方法

时间:2011-08-10 19:40:03

标签: jdbc jdbctemplate spring-jdbc

我正在使用SimpleJdbcTemplate,例如我有类似的东西:

@Override
 public Variant mapRow(ResultSet rs, int rowNum) throws SQLException

然后我从这个结果集中获取这些代码行的值:

variant.setName(rs.getString("variant_name"));

所以我必须查看我的表,看看我应该为每一列使用什么类型, - 在这个例子中为String的getString - ...所以我将有getString,getLong,getInt,...

我想知道是否有更通用的方法从结果集中获取这些值而无需指定正确的类型,并希望Spring JDBC负责这些泛型类型的一些装箱/拆箱

1 个答案:

答案 0 :(得分:2)

如果要将JDBC结果映射到对象模型,那么您将不得不忍受这样做。这是你使用JDBC时的交易。

如果你想要更高级别的东西,包括列到属性的映射,那么你需要一个更好的工具。你可以全力以赴地使用Hibernate,但这会带来一大堆行李,并为每一个解决的问题提出10个新问题。

查看MyBatis(以前称为iBatis)。这是一个非常基本的框架,用于将JDBC结果集映射到javabeans,并支持连接/语句管理.Spring provides support for iBatis 2,但不再支持iBatis 2本身。 Spring开箱即用,但MyBatis项目does provide it's own Spring integration不支持新的MyBatis 3.x。