java中如何使用Connection管理事务
作者:暮色微凉
时间:2023-04-26
浏览:1
1、管理事务(1)开启事务setAutoCommit调用该方法设置参数为false,即开启事务。在执行sql之前开启事务。(2)提交事务:commit()当所有sql都执行完提交事务。(3)回滚事务:rollback()在catch中回滚事务。2、实例publicstaticvoidmain(String[]args){Connectionconn=null;PreparedStatementpstmt1=null;PreparedStatementpstmt2=null;try{//1.获取连接conn
本文目录
1、管理事务
(1)开启事务setAutoCommit
调用该方法设置参数为false,即开启事务。
在执行sql之前开启事务。
(2)提交事务:commit()
当所有sql都执行完提交事务。
(3)回滚事务:rollback()
在catch中回滚事务。
2、实例
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
try {
//1.获取连接
conn = JDBCUtils.getConnection();
//开启事务
conn.setAutoCommit(false);
//2.定义sql
//2.1 张三 - 500
String sql1 = "update account set balance = balance - ? where id = ?";
//2.2 李四 + 500
String sql2 = "update account set balance = balance + ? where id = ?";
//3.获取执行sql对象
pstmt1 = conn.prepareStatement(sql1);
pstmt2 = conn.prepareStatement(sql2);
//4. 设置参数
pstmt1.setDouble(1,500);
pstmt1.setInt(2,1);
pstmt2.setDouble(1,500);
pstmt2.setInt(2,2);
//5.执行sql
pstmt1.executeUpdate();
// 手动制造异常
int i = 3/0;
pstmt2.executeUpdate();
//提交事务
conn.commit();
} catch (Exception e) {
//事务回滚
try {
if(conn != null) {
conn.rollback();
}
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
//关闭资源
JDBCUtils.close(pstmt1,conn);
JDBCUtils.close(pstmt2,null);
}
作者最新文章
PDF怎么按页拆成单独文件?PDF按页拆分后怎么命名
2026-11-03 18:00
长网页转PDF怎么避免断图?网页转PDF怎么设置分页
2026-11-01 09:31
夸克资源库蓝光资源每日更新经典电视剧全集
2026-10-30 11:54
会声会影怎么导入音频 支持格式及步骤
2026-10-29 12:23
WPS表格常用功能实操:从录入到排序筛选的完整流程
2026-10-29 09:57
上一篇:
Java中List和Set接口如何使用
下一篇:
java如何通过字符缓冲流拷贝文件
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































