我注意到,当我使用 PreparedStatement
时,它似乎没有转义某些通配符,例如“%”或“_”。我知道这些可以在 MySql 中使用反斜杠进行转义。这让我想知道,PreparedStatement
会转义哪些字符?
最佳答案
PreparedStatement
不会转义任何内容 - 它依赖于数据库对预编译语句的支持。
也就是说,PreparedStatement
永远不会用 ?
替换参数值以形成文字查询字符串。相反,它将带有占位符的查询字符串发送到数据库并使用数据库支持来绑定(bind)查询参数(但是,它可能取决于 JDBC 驱动程序实现)。
关于java - PreparedStatement 会转义哪些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934943/