JDBC の Statement と PreparedStatement を混同しました。PreparedStatement は Statement のバージョンですか? またはその他の違いはありますか?体はその質問をクリアできますか?ありがとう。
1 に答える
Java 公式チュートリアルのUsing Prepared Statementsから
SQL ステートメントをデータベースに送信するために PreparedStatement オブジェクトを使用する方が便利な場合があります。この特殊なタイプのステートメントは、既にご存じのより一般的なクラス Statement から派生したものです。
Statement オブジェクトを何度も実行したい場合は、代わりに PreparedStatement オブジェクトを使用することで実行時間を短縮できます。
PreparedStatement オブジェクトの主な特徴は、Statement オブジェクトとは異なり、作成時に SQL ステートメントが与えられることです。これの利点は、ほとんどの場合、この SQL ステートメントがすぐに DBMS に送信され、そこでコンパイルされることです。その結果、PreparedStatement オブジェクトには、SQL ステートメントだけでなく、プリコンパイルされた SQL ステートメントも含まれます。つまり、PreparedStatement が実行されると、DBMS は PreparedStatement SQL ステートメントをコンパイルせずに実行できます。
PreparedStatement オブジェクトは、パラメーターを持たない SQL ステートメントにも使用できますが、パラメーターを受け取る SQL ステートメントに使用することが最も多いでしょう。パラメーターを取る SQL ステートメントを使用する利点は、同じステートメントを使用して、実行するたびに異なる値を指定できることです。この例は、次のセクションにあります。