如何转义 SQL 查询中使用的特殊字符?
是否有一个 Java 库用于从要插入 SQL 查询的字符串中转义特殊字符。
我一直在编写代码来逃避各种事情,但我不断发现一些新问题让我困惑。因此,一个能够处理所有或大部分可能性的库将会非常方便。
编辑:我正在使用MySQL(如果这有什么区别的话)。
Is there a Java library for escaping special characters from a string that is going to be inserted into an SQL query.
I keep writing code to escape various things, but I keep finding some new issue trips me up. So a library that takes care of all or most of the possibilities would be very handy.
EDIT: I am using MySQL (if that makes any difference).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯...jdbc。将字符串作为参数传递,并且不要将它们附加到查询字符串中
Well... jdbc. Pass the strings as parameters, and don't append them to the query string
更多的研究表明我这一点:
http ://devwar.blogspot.com/2010/06/how-to-escape-special-characters-in.html
建议使用
apache.commons.lang.StringEscapeUtils
,我会尝试一下A little bit more research points me to this:
http://devwar.blogspot.com/2010/06/how-to-escape-special-characters-in.html
Which suggests to use
apache.commons.lang.StringEscapeUtils
, I will try this out我知道这是一个很长的线程,但是使用 commonslang 库有一个名为
escapeSql(String)
的方法。还可以使用准备好的语句自动转义有问题的 SQL 字符。I know this is a long time thread, but using the commonslang library there is a method called
escapeSql(String)
. Also using prepared statement automatically escape the offending SQL character.