Matcher.quoteReplacement 与准备好的语句
在我的项目中,我必须根据传递的表创建插入语句。 所以我有两个选择 1)编写preparedstatement并批量运行 2)创建插入表值(..),(..),(..)
我想知道如果我使用Matcher.quoteReplacement()来转义值,则更喜欢(1)而不是(2)的原因
谢谢进步
In my project I have to create insert statements based on the tables passed.
So I have two options
1)Write preparedstatement and run it in batch
2)Create insert into table values(..),(..),(..)
I want to know the reasons to prefer (1) over (2) if I use Matcher.quoteReplacement() to escape the values
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Matcher.quoteReplacement
无意引用 SQL 字符串,因此您无法确定是否避免使用它进行 SQL 插入。但是,即使您有一个有效的引用函数,准备好的语句仍然会更好,原因如下:Matcher.quoteReplacement
isn't intended to quote SQL strings, so you can't be certain to avoid SQL insertions using it. But even if you had a working quoting function, prepared statements would still be better for several reasons: