txtest.java

来自「各种数据保存:字符型」· Java 代码 · 共 56 行

JAVA
56
字号
package cn.itcast.jdbc;

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

public class TxTest {

	/**
	 * @param args
	 * @throws SQLException
	 */
	public static void main(String[] args) throws Exception {
		tx();
	}

	static void tx() throws Exception {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			conn = JdbcUtils.getConnection();
			conn.setAutoCommit(false);
			conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
			
			st = conn.createStatement();
			String sql = "update user set account=account-50 where id=1";
			int i = st.executeUpdate(sql);
			System.out.println("i=" + i);

			System.out.println("process...");
			Thread.sleep(20000);

			sql = "select age from user where id=3";
			rs = st.executeQuery(sql);
			while (rs.next()) {
				int age = rs.getInt("age");
				if (age < 100)
					throw new RuntimeException("帐号无效");
			}

			sql = "update user set account=account+50 where id=3";
			i = st.executeUpdate(sql);
			System.out.println("i=" + i);

			conn.commit();
		} catch (Exception e) {
			conn.rollback();
			throw e;
		} finally {
			JdbcUtils.realse(rs, st, conn);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?