2012-09-19 161 views
0

是否有Jdbc標準過濾結果返回jdbcTemplate.queryoffsetlimitJdbcTemplate查詢過濾

此外,還有一種簡單的方法可以將ResultSet(通過篩選查詢返回,如上所示)轉換爲List<Map<String,String>>結果嗎?其中List是行值存儲在Map中的行嗎?行名稱是地圖關鍵字,行值是地圖值。

或者有一個標準的方法從ResultSet獲取行?

回答

0

看一看的JdbcTemplate#setMaxRows(int)的

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html#setMaxRows%28int%29

這應該申請一個LIMIT/TOP。

-

我不認爲偏移量是這麼好定義,你可能需要鞋拔子是到你的SQL語句相關的SQL方言。

-

要過濾通過JDBC驅動程序返回的行,並可能構築成Java用戶定義的對象類型看看退房的ResultSetExtractor類和RowMapper的。

ResultSetExtractor這是用於使用ResultSet#next()迭代ResultSet,這允許它根據業務邏輯進行過濾和跳過。此方法可能使用RowMapper類型來提取它想保留的單行數據,或者它可能會執行提取本身。

http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/jdbc/core/ResultSetExtractor.html

的RowMapper這是用來做單行到一些有效的,它可能只是一個列表。此方法使用ResultSet#getWhatever(int)。

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/RowMapper.html

然後檢查採取ResultSetExtractor類類型作爲參數之一的JdbcTemplate方法。這可能是一個很好的例子:

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html#query%28java .lang.String,%20java.lang.Object [],%20org.springframework.jdbc.core.ResultSetExtractor%29