execute(String sql)
とupdate(String sql)
の違いはJdbcTemplate
ですか?Spring JdbcTemplateがvs更新を実行する
私のステートメントがストレートCRUD
であり、オブジェクト作成DDL(javadocの実行が暗示しているように)ではない場合は、もっと軽量のupdateを実行するのが理にかなっていますか?
execute(String sql)
とupdate(String sql)
の違いはJdbcTemplate
ですか?Spring JdbcTemplateがvs更新を実行する
私のステートメントがストレートCRUD
であり、オブジェクト作成DDL(javadocの実行が暗示しているように)ではない場合は、もっと軽量のupdateを実行するのが理にかなっていますか?
メソッドexecute(String sql)
は、メソッドの呼び出しがエラーなしで成功した場合はvoid
を返します。 (execute(..) JavaDocを参照してください)。プレーンJDBCの場合は、CREATE TABLE ...ステートメントなどのデータベーススキーマ要素(DDL)の定義に使用する必要があります。
対照的に、update(String sql)
は、通常、SQL INSERT/UPDATE/DELETE操作に対応するDML文に使用されます。データが操作されるこれらの場合、プログラマの観点から、それぞれのDML操作によって追加/変更/削除された行の数を知ることが重要です。
戻り値: のJavaDocは、用語を使用することによって示したよう行の数が
に影響を与えたこのような理由から、update(...)方法は、あなたが知っているようにする非負int
の値を返します
ただし、返されるint
の値を使用せずにデータを操作するには、execute(String sql)
を使用します。理論的には、また一部のDBMS実装では、戻り値を転送する必要がないため、この呼び出しは数ナノ秒早くなる可能性があります。
しかし、個人的にもプログラマの観点からも、DDL文とDML文の違いを念頭に置いて両方の操作を使用する必要があります。その理由は、update
がデータ操作操作を実行していることを示しているからです。
希望、それは役に立ちます。