我通常不会发布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方法)并且我一直得到同样的错误。有谁看到我在做什么?谢谢!
答案 0 :(得分:2)
什么版本的Groovy?采用String和Closure的withBatch
变体仅在Groovy 1.8中引入,错误消息中的“可能解决方案”表明您使用的是Groovy 1.7。