JDBC PreparedStatement 的优点和局限性是什么?
jdbcjava 8mysqli mysqldatabase
以下是准备好的语句的优点:
通过避免多次编译和执行语句,准备好的语句执行速度更快。
使用准备好的语句,我们可以借助 PreparedStatement 接口提供的 setter 方法轻松地将值插入到高级数据类型(如 BLOB、CLOB、OBJECT)中。
通过提供 setter 方法来设置值,准备好的语句避免在查询中使用引号和其他特殊字符,从而避免 SQL 注入攻击
以下是准备好的语句的局限性:
由于 PreparedStatement 对象一次只表示一个 SQL 语句,因此我们只能执行一个一个准备好的语句对象声明一个语句。
为了防止注入攻击,不允许一个占位符有多个值。