データベースのJavaの操作 - JDBC接続を使用してデータベース

データベースのJavaの操作 - JDBC業務で使用されます

要約:この論文は、内部JDBCトランザクションを使用する方法を学びました。

接続のトランザクション制御メソッドを使用します

データベースへのJDBC接続オブジェクトを取得するための手順は、Connectionオブジェクトは、デフォルトで自動的にデータベースに送信されたSQL文を提出した場合。トランザクションで複数のSQLの実行を可能にする、このデフォルトの提出を、オフにするには、JDBCは、トランザクション制御方法を使用することができます提供します。

一般的な方法

自動状態問合せは提出:ブールgetAutoCommit()はSQLExceptionをスローします。

ステータスが自動的に設定提出されます。voidにsetAutoCommit(ブールAutoCommitが)、SQLExceptionをスローします。

セットには、復元ポイント:セーブポイントでsetSavepoint()は、SQLExceptionをスローします。

指定に復元ポイントの名前を設定:セーブポイントでsetSavepoint(文字列名)は、SQLExceptionをスローします。

指定された名前は、復元ポイントを削除します。void releaseSavepoint(セーブポイントセーブポイント)はSQLExceptionをスローします。

提交:無効コミット()はSQLExceptionをスローします。

回滚:無効ロールバック()はSQLExceptionをスローします。

ロールバックは、復元ポイントの名前を指定するには:空のロールバック(セーブポイントセーブポイント)は、SQLExceptionをスローします。

クエリ分離レベル:INT getTransactionIsolation()はSQLExceptionがスロー。

分離レベルの設定:無効setTransactionIsolationを(INTレベル)のSQLExceptionをスローします。

ユースケース

1つの 公共 静的 ボイドメイン(文字列[]引数){
 2      のtry {
 3          にClass.forName( "はcom.mysql.jdbc.Driver" )。
4      } キャッチ(ClassNotFoundExceptionが電子){
 5          e.printStackTrace();
6      }
 7      接続CONN = NULL ;
8      のPreparedStatementてpstmt = NULL ;
9      試し{
 10          文字列のURL = "はjdbc:mysqlの://192.168.35.128:3306 /デモ" 11          文字列のユーザ=「ルート」12         文字列のパスワード= "123456" ;
13          CONN = たDriverManager.getConnection(URL、ユーザ、パスワード)。
14の         ブーリアンステータス= conn.getAutoCommit()。
15          のSystem.out.println( "自動コミット=" + ステータス)。
16          conn.setAutoCommit()。
17          てpstmt = conn.prepareStatement( "生徒から削除ここで、ID = 906" )。
18          pstmt.executeUpdate()。
19          のint E = 1/0。// 模拟出现异常
20          てpstmt = conn.prepareStatement( "ID = 907学生から削除" )。
21         pstmt.executeUpdate();
 22である          conn.commit(); // 手動提出、省略することができない
23は      } キャッチ(例外E){
 24          e.printStackTrace();
 25          試み{
 26である              (conn.rollback); // 手動ロールバック、省略することができる、システムは自動的にロールバックします
27          } キャッチ(EXのSQLException){
 28              ; ex.printStackTrace()
 29          }
 30      } 最後に{
 31は         試して{
 32              ; pstmt.close()
 33である          } キャッチ(のSQLException E){
 34              e.printStackTrace();
35          }
 36          のtry {
 37              はconn.close();
38          } キャッチ(のSQLException E){
 39              e.printStackTrace();
40          }
 41      }
 42 }

おすすめ

転載: www.cnblogs.com/shamao/p/11917928.html