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

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

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

  • 使用Prepared语句,我们可以借助PreparedStatement接口提供的setter方法轻松地将值插入高级数据类型,例如BLOB,CLOB,OBJECT。

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

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

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

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