在 groovy Sql 中设置 fetchSize

Max*_*Max 1 sql groovy jdbc limit fetch

我正在使用 groovy sql (2.4.4)。但我不知道如何设置 fetchSize 并滚动结果。

我使用sql.setResultSetType(ResultSet.TYPE_FORWARD_ONLY)但查询同时sql.rows(sqlQuery)返回所有数据,这真的很慢。我想像我们在普通 jdbc 查询中那样获取数据。

设置 maxRows 并不是一个真正的选项,因为我必须查询太多次,但 fetchSize 将是一个不错的选择。

在 groovy sql 文档(http://docs.groovy-lang.org/2.4.4/html/api/groovy/sql/Sql.html)中,我看到:

Java 的普通 JDBC API 之上的外观提供了极大简化的资源管理和结果集处理。

但没有给出关于获取的信息。如何设置 fetchSize ?

谢谢你!

Ade*_*ari 5

对于fetchSize,这似乎是唯一的选择,

这里的一个例子,

 sql.withStatement { stmt -> stmt.fetchSize = 50 }
Run Code Online (Sandbox Code Playgroud)

对于maxResult,可用的选项很少,

  • 使用rows()maxRows参数的重载方法,或
  • 你可以使用asList()maxRows参数的方法,或者
  • 使用eachRow()maxRows参数的

注意:有相当数量的命名重载方法rows(..)asList(..)eachRow(..)