Jdbc 将sql out参数映射到POGO

Jdbc 将sql out参数映射到POGO,jdbc,groovy,Jdbc,Groovy,我有如下groovy代码 query.call(sqlString, [Sql.out(OracleTypes.CURSOR)]) { ResultSet cursor -> while (cursor.next()) { println cursor.getString("whatever") } 但我想做的是,将整行加载到一个对象中。就像这个例子一样 sql.eachRow("Select * from Person") {

我有如下groovy代码

query.call(sqlString, [Sql.out(OracleTypes.CURSOR)]) { ResultSet cursor ->
        while (cursor.next()) {
            println cursor.getString("whatever")
        }
但我想做的是,将整行加载到一个对象中。就像这个例子一样

sql.eachRow("Select * from Person") {
    persons << new Person( it.toRowResult() )
}
sql.eachRow(“选择*来自个人”){

persons而不是使用
query.call
使用
query.callWithRows
(带有空的闭包参数
{}
)然后使用常规的
列表。结果列表上的每个
方法。请参阅此处的文档:@BalRog的建议将迭代结果两次。您可以对闭包本身应用所需的映射转换
callWithRows
生成
Map
的列表(
GroovyRowResult
实现
Map
)。因此@Steve可以使用Groovy映射构造函数,直接从映射列表转到
人的列表。
s。其他任何操作都需要您对每个列使用
ResultSet.get
,以构造所需的映射,以便他可以使用Groovy映射构造函数。非常粗糙。如果效率如此重要,请在
callWithRows
result list。这样,您只会生成一个最终列表,即
Person
s列表。