java - PreparedStatement 会转义哪些字符?

标签 java jdbc

我注意到,当我使用 PreparedStatement 时,它似乎没有转义某些通配符,例如“%”或“_”。我知道这些可以在 MySql 中使用反斜杠进行转义。这让我想知道,PreparedStatement 会转义哪些字符?

最佳答案

PreparedStatement 不会转义任何内容 - 它依赖于数据库对预编译语句的支持。

也就是说,PreparedStatement 永远不会用 ? 替换参数值以形成文字查询字符串。相反,它将带有占位符的查询字符串发送到数据库并使用数据库支持来绑定(bind)查询参数(但是,它可能取决于 JDBC 驱动程序实现)。

关于java - PreparedStatement 会转义哪些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934943/

相关文章:

java - 数据源到底是什么?这有什么区别呢?

java - Tomcat JDBC Conencton Pool + MySQL 给出 "Broken pipe"问题,即使有连接验证

PostgreSQL/JDBC 和 TIMESTAMP 与 TIMESTAMPTZ

java - 为多线程 FizzBu​​zz 编写测试用例

java - 错误在哪里?寻找多数

java - 在 eclipse web 项目(小程序)中找不到类异常

java - 关系 "table name"不存在 postgresql

java - 如何使用 java 提取 Postgres 时间戳字段?

java.sql.SQLException : No suitable driver found for

java - BigDecimal 除法具有大量小数位