Groovy Sql 执行语句不接受闭包

Groovy Sql Execute Statement won't accept closures

我有一个声明:

sqlInstance.execute(executeString){
                    dummy, realList->
                    debug("Real LIst: "+realList)

                    }

失败 'Invalid column type'

但是:

def bool = sqlInstance.execute(executeString)

有效。如果我打印 bool,它会打印为 'true'.

供参考:

executeString = "select distinct channel_id from guide_sched"

出于某种原因,闭包不适用于 groovy 的 Sql 中的执行方法,尽管我已经检查了文档并且应该如此。

看起来我在 运行 Groovy 2.4 上测试的第一个环境和第二个运行 Groovy 2.1 的环境。我使用的执行语句直到 2.1

之后才存在

相反,我使用 .rows() 函数来 return 一个 GroovyRowResult,我解析它以获得我需要的信息,而不是直接在 .execute() 闭包中访问它。