事务管理

public class JDBCDemo_connection {
public static void main(String[] args) throws Exception{
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取链接
String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=false";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url,username,password);//返回值

//3.定义sql语句;
String sql1 = "update account set money = 3000 where id = 1;";
String sql2 = "update account set money = 3000 where id = 2;";

//4.获取执行sql的对象 Statement
Statement stmt = conn.createStatement();

try {
//开启事务
conn.setAutoCommit(false);
//5.执行sql
int count1 = stmt.executeUpdate(sql1);//受影响的行数
//6.处理结果
System.out.println(count1);
int i = 3 / 0;

int count2 = stmt.executeUpdate(sql2);//受影响的行数
//6.处理结果
System.out.println(count2);

//提交事务
conn.commit();
} catch (Exception throwables) {
//回滚事务
conn.rollback();
throwables.printStackTrace();
}

//7.释放资源
stmt.close();
conn.close();
}
}

posted on 2022-04-09 15:07  我要当程序源  阅读(26)  评论(0)    收藏  举报

导航