如何在模拟准备好的语句时使用 groovy Sql 进行批量插入?我发现的所有示例都与以下类似,并且不使用准备好的语句。
withBatch { stmt ->
stmt.addBatch("insert into table (field1,field2) values('value1','value2')")
stmt.addBatch("insert into table (field1,field2) values('value3','value4')")
}
根据这个链接https://issues.apache.org/jira/browse/GROOVY-3504 https://issues.apache.org/jira/browse/GROOVY-3504无法直接在批处理中使用准备好的语句。模拟这个的最佳方法是什么,这样我就可以避免编写自己的代码来避免 SQL 注入?
Groovy 1.8.1 引入了对带有批处理的准备好的语句的支持。简单的例子:
sql.withBatch(20, """update some_table
set some_column = :newvalue
where id = :key """) { ps ->
mymap.each { k,v ->
ps.addBatch(key:k, newvalue:v)
}
}
另请参阅我关于该主题的帖子:http://novyden.blogspot.com/2011/09/groovy-batch-prepared-statement-nice.html http://novyden.blogspot.com/2011/09/groovy-batch-prepared-statement-nice.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)