COMMIT
一部のプログラマーがトランザクションを終了またはロールバックするために他の使用を使用していることに気付きconn.setAutoCommit(true);
ましたが、他の使用の代わりに使用する利点は何ですか?
主な違いはどこですか?
conn.setAutoCommit(true);
以上
statement.executeQuery(query);
statement.commit();
の使用法はconn.setAutoCommit();
接続に適用され、単一のトランザクションでXクエリを実行するか、1つのトランザクションごとに1つのトランザクションを使用する可能性があります。execute
APIが説明するように:
void setAutoCommit(boolean autoCommit)
throws SQLException
この接続の自動コミットモードを指定された状態に設定します。接続が自動コミットモードの場合、そのすべてのSQLステートメントが実行され、個別のトランザクションとしてコミットされます。それ以外の場合、そのSQLステートメントは、メソッドcommitまたはメソッドロールバックのいずれかの呼び出しによって終了するトランザクションにグループ化されます。デフォルトでは、新しい接続は自動コミットモードです
単純なケースの場合:
conn.setAutoCommit(false);
statement.executeQuery(query);
statement.commit();
と同じになります:
conn.setAutoCommit(true);
statement.executeQuery(query);