这是我的代码:
// my SQL query used with PreparedStatement before
def query = "INSERT INTO TAB_A (x,y) VALUES (?,?)
Sql myDb = Sql.newInstance(...)
myDb.withBatch(10000, {stmt ->
// I get parameters as an array
def params = getParams();
String rowQuery = funcThatMimicsPrepStat(query, params)
stmt.addBatch(rowQuery);
}
我目前正在寻找一种在Batch中模拟准备好的Statement(funcThatMimicsPrepStat)的方法,它只适用于Statement。欢迎任何建议。
Groovy 1.8.0还不支持它,但看起来下一个次要版本将支持它。trunk源代码有几个非常有用的例子。下面是一个使用PreparedStatement
:的示例
def updateCounts = sql.withBatch(20, 'insert into TABLENAME(a, b, c) values (?, ?, ?)') { ps ->
ps.addBatch(10, 12, 5) // varargs style
ps.addBatch([7, 3, 98]) // list
ps.addBatch([22, 67, 11])
...
}
我想您要么抓紧这段代码,要么等待Groovy1.8.x的发布。