是否可以直接从Groovy返回java.sql.ResultSet?

时间:2015-08-11 17:03:33

标签: java groovy

我有一个使用groovy.sql.Sql类与数据库进行通信的Groovy脚本,但是一些旧的Java代码希望收到java.sql.ResultSet。有没有办法使用SELECT执行groovy.sql.Sql查询并直接返回java.sql.ResultSet

1 个答案:

答案 0 :(得分:4)

不是真的。使用Groovy Sql的主要原因之一是自动处理资源(这就是为什么有些方法使用闭包来与ResultSet交互,但没有一个返回它 - 以确保他们被关闭了)。我强烈建议您重新考虑为什么要传递对ResultSet的引用(可能持有服务器资源),而不是使用代表这些结果的POJO / POGO。

但是,如果你坚持使用ResultSet,并且你只需要很少的便利方法,我想一个选择就是将这些方法复制到你的代码库中。正如您从source中看到的那样,Sql是一个比普通旧JDBC更薄的包装器。但是对于听起来像你正在做的事情,我怀疑它增加了多少价值。