複数のトランザクションを同時に実行する

今回は複数のトランザクションを実行するJavaプログラミングをします。
一つのコードで複数のテーブルにデータを挿入するプログラムです。
では吟じます。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class SomeTran {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String url = "jdbc:mysql://localhost/test";
		Connection con = null;

		try {
			String driver = "org.gjt.mm.mysql.Driver";

			Class.forName(driver).newInstance();

		} catch (Exception e) {
			System.out.println("Driverロードの失敗");
			return;
		}
		try {
			Statement s;
			con = DriverManager.getConnection(url, "damePG", "");
			//オートコミットをオフにする
			
			con.setAutoCommit(false);
			//1つ目の文の為にStatementする
			s = con.createStatement();
			s.executeUpdate("INSERT INTO USER VALUE('" + args[0] + "','"
					+ args[1] + "')");
			//1つ目の文を閉じる
			s.close();
			//2つ目の文の為にStatementする
			s = con.createStatement();
			s.executeUpdate("INSERT INTO DATA VALUE('" + args[3] + "','"
					+ args[4] + "','" + args[0] + "')");
			//2つの文を同時にコミットする
			con.commit();
			//2つ目の文を閉じる
			s.close();
			
		} catch (SQLException e) {
			if (con != null) {
				try {
					//エラー発生時はロールバックする
					con.rollback();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
			}
			e.printStackTrace();
		} finally {
			if (con != null) {
				try {
					con.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

詳細はコードのコメント通りです。
あると思います!!
確か昔に某M先輩のコードを写経したときもsetAutoCommit(false)を指定していた事を思い出しました。
もうすぐ10000アクセス到着だ!!うれしさのこみ上げるdamePGでした。