2011-08-10 52 views
1

我使用了SimpleJdbcTemplate和例如一個通用的方式,我有這樣的事情:有越來越列ResultsSet的MapRow

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

然後我從這個結果中包含的代碼行設置獲取值這樣的:

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

,所以我要看看我的表,請參閱我應該使用什麼類型的每一列, - 在這個例子中的GetString絃樂 - ...所以我會有的getString,getLong,getInt ,. ..

我想知道是否有更通用的方式從結果集中獲取這些值,而無需指定正確的類型,並希望Spring JDBC在這些泛型類型上處理一些裝箱/拆箱操作

回答

2

如果要映射JDBC結果到你的對象模型,那麼你將不得不忍受這樣做。這是您使用JDBC時的優勢。

如果你想要更高層次的東西,包括列到屬性的映射,那麼你需要一個更好的工具。你可以全身心投入使用Hibernate,但是它包含了大量的行李,併爲它解決的每一個問題提出了10個新問題。

看看MyBatis(以前稱爲iBatis)。這是一個將JDBC結果集映射到javabeans的非常基本的框架,並且支持連接/語句管理。Spring provides support for iBatis 2,但不再支持iBatis 2本身。新的MyBatis 3.x不受Spring開箱即用,但MyBatis項目does provide it's own Spring integration不支持。