概述
import java.sql.*;
/**
* @author zzw
* @create 2020/11/16-13:05
* jdbc事务机制:
* 1:jdbc中的事务是自动提交的,什么是自动提交
* 只要执行一条DML语句(一条删除、更新。。。语句等),则自动提交一次,这是jdbc默认的事务行为
* 但是在实际的业务中,通常都是N条DML(多条删除、更新。。。语句等)语句同时联合才能完成的,必须
* 保证他们这些DML语句在用一个事务中同时成或者同时失败
* 2:可以写测试语句看看是不是自动提交的(例如先写个修改,给占位符传两次值)
* 用断点可以看出每执行一条语句就进行了一次修改。
* 所以是自动提交的
*
*/
public class jdbcTest10 {
public static void main(String[] args) {
//jdbc6步走
Connection conn = null;
PreparedStatement ps = null;
try {
//1、注册驱动
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
//2、获取连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "root", "a");
//3、获取数据库操作对象
String sql="update jdbc02 set a=? where b=? ";
ps = conn.prepareStatement(sql);
//编译之后给占位符赋值
ps.setString(1,"mmm");
ps.setInt(2,1);
int count=ps.executeUpdate();
System.out.println(count);
//重新传值
ps.setString(1,"mmmmm");
ps.setInt(2,2);
count=ps.executeUpdate();
System.out.println(count);
//4、执行sql,根据数据库的操作不同,使用不同的PreparedStatement方法,这里我们使用executeUpdate()
count = ps.executeUpdate();
System.out.println(count);
//5、处理查询结果集
} catch (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学习----10--jdbc事务自动提交机制的全部内容,希望文章能够帮你解决JDBC学习----10--jdbc事务自动提交机制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复