JDBC PreparedStatement 的优点和局限性是什么?

jdbcjava 8mysqli mysqldatabase

以下是准备好的语句的优点:

  • 通过避免多次编译和执行语句,准备好的语句执行速度更快。

  • 使用准备好的语句,我们可以借助 PreparedStatement 接口提供的 setter 方法轻松地将值插入到高级数据类型(如 BLOB、CLOB、OBJECT)中。

  • 通过提供 setter 方法来设置值,准备好的语句避免在查询中使用引号和其他特殊字符,从而避免 SQL 注入攻击

以下是准备好的语句的局限性:

  • 由于 PreparedStatement 对象一次只表示一个 SQL 语句,因此我们只能执行一个一个准备好的语句对象声明一个语句。

  • 为了防止注入攻击,不允许一个占位符有多个值。


相关文章