package utsc.java.jdbc.DBUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
* JDBC事务机制:
* 1.JDBC中的事务是自动提交的,什么是自动提交?
* 只要执行任意一条DML语句,则自动提交一次。这是JDBC默认的事务行为
* 但是在实际的业务当中,通常都是N条DML语句共同联合才能完成的,必须
* 保证他们这些DML语句在同一个事务中同时成功或者同时失败。
*
* 2.以下程序先来验证一下JDBC的事务是否是自动提交机制
*/
public class JDBCTest10 {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/imooc","root","123456");
//3.获取预编译的数据库操作对象
String sql = "update dept set dname = ? where deptno = ?";
ps = conn.prepareStatement(sql);
//第一次给占位符传值
ps.setString(1,"x部门");
ps.setInt(2,30);
int count = ps.executeUpdate();
System.out.println(count);
//重新给占位符传值
ps.setString(1,"y部门");
ps.setInt(2,20);
count = ps.executeUpdate();
System.out.println(count);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally {
//6.释放资源
if (ps != null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
JDBC的事务自动提交机制
最新推荐文章于 2023-09-05 15:00:31 发布