package com.jdbc;
/*
* 事務回滾
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TransactionTest {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"
+ "schema1", "root", "123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void insertUserDate(Connection conn) throws SQLException {
String sql = "insert into tbl_user(id,name,password,email)"
+ "values(10,'tom','123456','tom@gmail.com')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向用户表中插入了" + count + "条记录");
}
public static void insertAddressDate(Connection conn) throws SQLException {
String sql = "insert into tbl_address(id,city,country,user_id)"
+ "values(1,'shanghai','china','10')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向地址表中插入了" + count + "条记录");
}
public static void main(String[] args) {
Connection conn=null;
try {
conn=getConnection();
conn.setAutoCommit(false);
insertUserDate(conn);
insertAddressDate(conn);
} catch (SQLException e) {
System.out.println("==========捕获到sql异常=========");
e.printStackTrace();
try{
conn.rollback();
System.out.println("==========事务回滚成功=========");
}catch(Exception e1){
e1.printStackTrace();
}
}finally{
try{
if(conn!=null){
conn.close();
}
}catch(Exception e2){
e2.printStackTrace();
}
}
}
}
JDBC-数据库事务回滚
最新推荐文章于 2023-11-29 11:02:12 发布