0

我通常不会发布有关 API 的问题,但我完全被难住了。我正在尝试使用 groovy 的 withBatch() 方法,但它对我很不利。这是我正在尝试的:

connection.withBatch ('insert into SCHEMA.TABLE(VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE) values (?,?,?,?,?,?,?,?,?,?,?,?)') { ps ->
    for(def dom : domain.domainData)
    {
        def values = dom.collect {key, value -> value}
        ps.addBatch(values)
    }

我不断得到这个:

groovy.lang.MissingMethodException:没有方法签名:groovy.sql.Sql.withBatch() 适用于参数类型:(java.lang.String, ...updater.InsertAllService$_updateData_closure1) 值:[插入 SCHEMA.TABLE (值,值,值,值,值,值,值,值,值,值,值,值,值) 值 (?,?,?,?,?,?,?,?,?,?,?,? ), ...updater.InsertAllService$_updateData_closure1@74eb011d] 可能的解决方案:withBatch(groovy.lang.Closure), withBatch(int, groovy.lang.Closure), isWithinBatch()

(出于隐私原因,我不得不取出值和包名称)

我整个早上都在修补这个,尝试不同的东西(包括其他 withBatch 方法),但我一直收到同样的错误。有人看到我在做什么吗?谢谢!

4

1 回答 1

2

什么版本的 Groovy?采用 String 和 Closure的withBatch变体仅在 Groovy 1.8 中引入,错误消息中的“可能的解决方案”表明您使用的是 Groovy 1.7。

于 2012-09-13T17:37:19.087 回答