JDBC事务
时间:2021-08-17
本文章向大家介绍JDBC事务,主要包括JDBC事务使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
JDBC事务
事务:
要么都成功
要么都失败
ACID标准:
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
开启事务 setAutoCommit(false);
事务提交 commit();
事务回滚 rooback();
关闭事务
start transaction ;#开启事务
update account set money = money-100 where name = 'A';
update account set money = money+100 where name = 'B';
rollback;#事务回滚
commit; #提交事务
public class TestTransaction {
@Test
public void test(){
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
try {
// 获取数据库连接
conn = jdbcUtils.getConnection();
// 通知数据库开启事务,false 开启
conn.setAutoCommit(false);
// 编辑SQL语句
String sql1 = "update account set money = money-100 where name = 'A';";
// 预编译第一条SQL 执行
conn.prepareStatement(sql1).executeUpdate();
// 制造错误
int i=1/0;
// 第二条 sql
String sql2 = "update account set money = money+100 where name = 'B';";
// 预编译第二条SQL语句
conn.prepareStatement(sql2).executeUpdate();
// 以上两条SQL语句都执行曾公,就提交事务
conn.commit();
System.out.println("success");
} catch (Exception e) {
try{
// 如果出现异常,就通知数据库回滚事务
conn.rollback();
}catch (SQLException throwables){
throwables.printStackTrace();
}
e.printStackTrace();
}finally {
// 释放连接
jdbcUtils.release(conn,pst,null);
}
}
}
原文地址:https://www.cnblogs.com/lantianya/p/15154174.html
- spring boot + embed tomcat + standalone jar的内存泄露问题
- 树莓派:设置与软件安装
- spring-boot 速成(11) - 单元测试
- OOAD-设计模式(四)结构型模式之适配器、装饰器、代理模式
- 2018年智能家居行业趋势 写在2017年关键词里
- 树莓派与arduino通信
- process information unavailable 的解决办法
- JS魔法堂:再识IE的内存泄露
- 给树莓派安装中文字库
- Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
- Design Pattern: Observer Pattern
- Hadoop(十六)之使用Combiner优化MapReduce
- ActiveMQ笔记(6):消息延时投递
- CentOS 安装 Maven
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- iOS客户端启动速度优化实践
- 一天一大 leet(魔术索引)难度:简单-Day20200731
- 一天一大 lee(回文对)难度:困难-Day20200806
- 一天一大 lee(扫雷游戏)难度:中等-Day20200820
- 一天一大 lee(重新安排行程)难度:中等-Day20200827
- 一天一大 lee(机器人能否返回原点)难度:简单-Day20200828
- 一天一大 lee(有序链表转换二叉搜索树)难度:中等-Day20200818
- 一天一大 lee(钥匙和房间)难度:中等-Day20200831
- 一天一大 lee(最短回文串)难度:困难-Day20200829
- 一天一大 lee(预测赢家)难度:中等-Day20200901
- 一天一大 lee(反转字符串中的单词 III)难度:简单-Day20200830
- 一天一大 lee(平衡二叉树)难度:简单-Day20200817
- 一天一大 lee(组合总和)难度:中等-Day20200909
- 一天一大 lee(回文子串)难度:中等-Day20200819
- 一天一大 lee(组合)难度:中等-Day20200908