0

是否有 Jdbc 标准一种通过jdbcTemplate.querybyoffset和过滤结果返回的方法limit

还有一种简单的方法可以将ResultSet(由过滤查询返回,如上所示)转换为List<Map<String,String>>结果吗?List行值存储在哪里Map?行名称是映射键,行值是映射值。

或者有一种标准方法可以将行从 a 中取出ResultSet

4

1 回答 1

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。

--

我不认为 OFFSET 定义得这么好,您可能需要将其硬塞到相关 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

于 2012-09-19T07:13:16.920 回答