【发布时间】:2012-04-02 19:58:42
【问题描述】:
我的目标是在批量插入查询中进行 sql 转义。 例如:
INSERT INTO log VALUES (0,5,-7,'str'), (4,0,0,'str'), (0,0,0,'str');
代码每 30 秒在表中插入大约 100-200 条记录。 (日志池)。
我没有找到使用 PreparedStatement 进行批量插入的方法,所以我不得不通过 StringBuilder 手动构建该查询。
但我不知道如何转义字符串,不太想应用诸如 kludge-fixes 之类的东西(引号通过 regex-replace 等转义)。
有什么方便的方法吗?
【问题讨论】:
-
如果您不使用 PreparedSQL,您将面临很高的风险......
-
我认为这个关于使用 PreparedStatement 进行批量插入的答案是您正在寻找的:stackoverflow.com/a/6892457/1272477
-
mguymon,可能这就是解决方案。我错过了这个。顺便说一句,这个 addBatch/executeBatch 是像上面的例子那样批量插入,还是一次性执行的一组 INSERT 查询?
标签: java sql escaping bulkinsert