JDBCでトランザクションを開始する方法は?
2023-09-22 23:01:45
質問
Connection.setTransactionIsolation(int)
を警告します。
注意:このメソッドがトランザクション中に呼び出された場合、その結果は実装で定義されます。
これは問題を提起します。 JDBCでどのようにトランザクションを開始するのですか? トランザクションを終了させる方法は明確ですが、開始させる方法は不明です。
もし
Connection
がトランザクションの内部で始まっている場合、どのようにして
Connection.setTransactionIsolation(int)
をトランザクションの外側で呼び出して、実装固有の挙動を回避することはできますか?
どのように解決するのですか?
自分自身の質問に答える。
- JDBC 接続 で開始します。 自動コミットモードが有効 で開始され、各 SQL 文は暗黙のうちにトランザクションで区分けされます。
- トランザクションごとに複数のステートメントを実行したいユーザーは 自動コミット .
- 自動コミットモードを変更すると、現在のトランザクションのコミットがトリガーされます(アクティブである場合)。
-
Connection.setTransactionIsolation()
は、自動コミットが有効であれば、いつでも呼び出すことができます。 -
auto-commitが無効の場合。
Connection.setTransactionIsolation()
はトランザクションの前か後にしか起動できません。トランザクションの途中でそれを起動すると、未定義の動作になります。
参照 JDBCチュートリアル を参照してください。
関連
-
Junitのユニットテストエラー
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java の switch case 文で必要な定数式の問題の解決法
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
Junitのユニットテストはjava.lang.Testを報告します。
-
java.sql.SQLException: 結果セットの開始前
-
Javaがテキストファイルを読み込む
-
アノテーション「@Retention」の役割
-
switch case文のcaseの後の列挙定数は列挙型なし
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
ApiModel と @ApiModelProperty の使用法