-4

可能重复:
Statement 和 PreparedStatement 之间的区别

我对 JDBC 中的 Statement 和 PreparedStatement 感到困惑。 PreparedStatement 是 Statement 的版本吗?或任何其他区别?任何机构都可以解决这个问题。谢谢。

4

1 回答 1

2

来自Java官方教程的Using Prepared Statements

有时使用 PreparedStatement 对象将 SQL 语句发送到数据库更方便。这种特殊类型的语句派生自您已经知道的更通用的类 Statement。

如果要多次执行一个 Statement 对象,通常会减少执行时间而改用 PreparedStatement 对象。

PreparedStatement 对象的主要特点是,与 Statement 对象不同,它在创建时被赋予一条 SQL 语句。这样做的好处是,在大多数情况下,此 SQL 语句会立即发送到 DBMS,并在其中进行编译。因此,PreparedStatement 对象不仅包含一条 SQL 语句,还包含一条已预编译的 SQL 语句。这意味着当 PreparedStatement 被执行时,DBMS 可以直接运行 PreparedStatement SQL 语句,而无需先编译它。

尽管 PreparedStatement 对象可用于不带参数的 SQL 语句,但您可能最常将它们用于带参数的 SQL 语句。使用带参数的 SQL 语句的优点是您可以使用相同的语句并在每次执行时为其提供不同的值。这方面的示例在以下部分中。

于 2013-01-29T05:10:31.380 回答