GSQL的eachRow有问题在1.1版本

本文探讨了GSQL作为Groovy语言中的一种简化JDBC操作的方式,并针对在使用GSQL的eachRow方法时遇到的问题提供了替代方案。由于eachRow方法在Groovy 1.1版本中存在问题,建议使用query方法来遍历结果集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  gsql是groovy在jdbc基础上进行了很多便利的简化,比如自动释放connection连接,更简洁的resultset操作等,尤其通过eachRow,可是都在1.1的beta上有问题,会出现
java 代码
  1. Caught: java.lang.StackOverflowError  
异常,比较1.0和1.1的代码,好像eachRow改动比较大,GroovyResultSet在1.1是通过Proxy实现,具体代码没有再深究下去,所以也 不知道Why,这里提供一个变相的解决方案:用query方法替代eachRow,不过对应的cloure要做相应的改变
  • eachRow,参数是GroovyResultSet,而且不需要自己调用ResultSet.next
  • query,参数是ResultSet,需要自己去遍历ResultSet,需要自己调用ResultSet,就象直接的JDBC操作那样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值