📄 txtest.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -