呉ユーキション - 自然生まれのJavaデータベースプログラミング:トランザクション処理

DROP TABLEのユーザー。- 删除表
CREATE TABLEのユーザー(
    ID INT AUTO_INCREMENT PRIMARY KEY、
    名前VARCHAR( 30 )NOT NULL、
    パスワードVARCHAR( 32 )NOT NULL、
    年齢INT NOT NULL、
    セックスVARCHAR( 2)DEFAULT '男' 
    誕生日DATE 
); 

INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)VALUES( '李康'、 'www.mldnjava.cn'、23 '女'、 '2003-08-27');
インポートのjava.sql.Connection;
 インポートのjava.sql.DriverManager;
 インポートjava.sql.SQLExceptionという、
 インポートjava.sql.Statementの、
 パブリック クラスTranDemo01 {
     // データベースドライバは、MySQL定義
    パブリック 静的 最終列dbDriver =「org.gjtを.mm.mysql.Driver " ;
     // 接続アドレスは、MySQLデータベース定義
    のパブリック 静的 最終的な文字列するDBURL ="はjdbc:MySQLの:// localhostを:3306 / MLDNを" ;
     // 接続MySQLデータベースのユーザー名
    のパブリック 静的 最終的な文字列= DBUSER 「ルート」;
     // MySQLデータベースの接続パスワード
    パブリック 静的 最終「のmysqladmin」のString = DBPASS ;
     パブリック 静的 ボイドメイン(文字列引数は、[])スロー例外{     // スローされるすべての例外 
        接続コネティカット= ヌル ;         // データベース接続 
        ステートメントSTMT = NULL ;         // 定義されたデータベース操作 
        クラス。 forName(dbDriver);     // ロードドライバ 
        コネチカット= たDriverManager.getConnection(中DBUSER、DBPASSとするDBURL); 
        STMT = conn.createStatement(); 
        stmt.addBatch(
            + "VALUES( 'LXH-4'、 'ハロー-4'、14、 '女'、 '1965年3月5日')" )。
        stmt.addBatch("INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            "VALUES( '5-LXH。'、 '5-こんにちは。'、15、 'M'、 '1965年8月5日')" );
         int型 TEMP [] = stmt.executeBatch(); 
        のSystem.out.println( "更新" + temp.length + "データの断片。" ); 
        stmt.close(); 
        はconn.close();             // データベースを閉じます
    } 
} ;
インポートのjava.sql.Connection;
 インポートのjava.sql.DriverManager;
 インポートjava.sql.SQLExceptionという、
 インポートjava.sql.Statementの、
 パブリック クラスTranDemo02 {
     // データベースドライバは、MySQL定義
    パブリック 静的 最終列dbDriver =「org.gjtを.mm.mysql.Driver " ;
     // 接続アドレスは、MySQLデータベース定義
    のパブリック 静的 最終的な文字列するDBURL ="はjdbc:MySQLの:// localhostを:3306 / MLDNを" ;
     // 接続MySQLデータベースのユーザー名
    のパブリック 静的 最終的な文字列= DBUSER 「ルート」;
     // MySQLデータベースの接続パスワード
    パブリック 静的 最終「のmysqladmin」のString = DBPASS ;
     パブリック 静的 ボイドメイン(文字列引数は、[])スロー例外{     // スローされるすべての例外 
        接続コネティカット= ヌル ;         // データベース接続 
        ステートメントSTMT = NULL ;         // 定義されたデータベース操作 
        クラス。 forName(dbDriver);     // ロードドライバ 
        コネチカット= (DBUSER、でDBPASSとするDBURL)にDriverManager.getConnection; 

        (conn.setAutoCommit はfalse);     //は自動送信をキャンセル

        STMT =)。
        stmt.addBatch(addBatch( "INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" +
            "VALUES( 'LXH-4' 'ハロー-4'、14 ' M'、 '1965年3月5日')" "INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            「VALUES( 'LXH-5'、 'ハロー -5'、15、 ' M'、 '1965年8月5日') " );
         試み{
             INT TEMP [] = stmt.executeBatch(); 
            のSystem.out.println( "更新:.データの"+ temp.length +"個" ); 
            conn.commit();     //は正常すべてを操作 
        } キャッチ(例外E){
             試み{ 
                conn.rollback()。
            } キャッチ(例外E1){ 
                
            } 
        } 
        stmt.close()。
        conn.close();             // データベースを閉じます
     }
}。
インポートのjava.sql.Connection;
 インポートのjava.sql.DriverManager;
 インポートjava.sql.SQLExceptionという、
 インポートjava.sql.Statementの、
 インポートjava.sql.Savepoint、
 パブリック クラスTranDemo03 {
     // データベースドライバは、MySQL定義
    パブリック 静的 ファイナル dbDriver =文字列"また、org.gjt.mm.mysql.Driver" ;
     // 接続MySQLデータベースのアドレスが定義され
    、パブリック 静的 最終的な文字列するDBURL = "JDBC:MySQLの:// localhostを:3306 / MLDN" ;
     // 接続しているユーザのMySQLデータベースを名前
    のパブリック 静的 最終的な文字列DBUSER =「ルート」// 接続パスワードMySQLデータベース
    のパブリック 静的 最終的な「mysqladminは」のString = DBPASS ;
     公共の 静的な 無効メイン(文字列の引数は、[])スロー例外{     // すべての例外スロー 
        接続コン= nullを ;         // データベース接続 
        声明のstmt = nullを// データベース操作の定義 
        にClass.forName(dbDriver);     // ロードドライバ 
        コネチカット= (DBUSER、でDBPASSとするDBURL)にDriverManager.getConnection; 

        conn.setAutoCommit(偽の);     //は自動送信をキャンセル

        STMT = conn.createStatement()。
        stmt.executeUpdate( "INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            "VALUES( 'LXH-1'、 'ハロー-1'、11 '男'、 '1975年3月5日') " ); 
        stmt.executeUpdate( "INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            "VALUES( 'LXH-2'、 'ハロー-2'、12 '女'、 '1976年3月5日') " ); 
        セーブポイントSP = conn.setSavepoint()。        // 设置保存点
        
        stmt.executeUpdate( "INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            "VALUES( 'LXH-4'、 'ハロー-4'、"INSERT INTOユーザ(名前、パスワード、年齢、性別、誕生日)" + 
            "VALUES( '5-LXH。'、 '5-こんにちは。'、15、 'M'、 '1965年8月5日')" );
         試してみます{ 
            conn.rollback(SP);     // ロールバックセーブポイントまで 
            conn.commit();     // すべての操作が成功した 
        } キャッチ(例外e){ 
            e.printStackTrace(); 
        } 
        stmt.close(); 
        コネチカット。クローズ();             // データベースを閉じます
    } 
}。

 

おすすめ

転載: www.cnblogs.com/tszr/p/12158912.html