package com.jdbctest.Transaction;
import com.jdbctest.Util.JDBCUtil;
import java.sql.*;
public class Transaction {
/**
* @param args
*/
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
conn = JDBCUtil.getConnection();
try {
DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("是否支持事务: "+dbmd.supportsTransactions());
System.out.println("是否支持给定的事务隔离级别:"
+dbmd.supportsTransactionIsolationLevel(conn.TRANSACTION_SERIALIZABLE));
//如果支持,设置事务级别为conn.TRANSACTION_SERIALIZABLE
if(dbmd.supportsTransactionIsolationLevel(conn.TRANSACTION_SERIALIZABLE)){
conn.setTransactionIsolation(conn.TRANSACTION_SERIALIZABLE);
}
//设置自动提交为false
//设置显式事务
conn.setAutoCommit(false);
String sql="UPDATE user SET password='1236'"+" WHERE user_name='test'";
stmt = conn.createStatement();
int result = stmt.executeUpdate(sql);
System.out.println("更新了: "+result+" 条记录!");
//执行成功 提交事务
conn.commit();
} catch (SQLException e) {
try {
//执行失败,回滚事务 ,到操作之前
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally{
JDBCUtil.close(null, stmt, conn);
}
}
}
事务学习
最新推荐文章于 2023-09-13 13:22:08 发布