JDBC事物的处理
JDBC事物的处理:
概念:事务是指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。
数据库开启事务命令:
start transaction 开启事务
Rollback 回滚事务
Commit 提交事务
事物的使用:
JDBC控制事务语句
Connection.setAutoCommit(false); // 相当于mysql语句的start transaction
Connection.rollback(); // 相当于mysql语句的 rollback
Connection.commit(); // 相当于mysql语句的 commit
-----------------------------------------------------------------------------------
代码如下:
package com.aaa.demo1; import com.aaa.demo.JdbcUtils; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class DemoTranscation {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
// 1 获取链接
try {
conn = JdbcUtils.getConnectio();
//2 开启事物
conn.setAutoCommit(false);
// 3 获取PreparedStatement
ps = conn.prepareStatement("UPDATE count SET money = money-? WHERE cname =?"); // 4 使用PreparedStatement 两次更新操作
ps.setDouble(1, 500);
ps.setString(2, "樱花落");
ps.executeUpdate();
System.out.println(111 / 0);
ps = conn.prepareStatement("UPDATE count SET money = money+? WHERE cname =?");
ps.setDouble(1, 500);
ps.setString(2, "洛天依");
ps.executeUpdate();
//提交事物 // System.out.println("转账成功");
//conn.commit(); } catch (Exception e) {
//事物回滚
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
System.out.println("转账失败");
} finally {
//关资源
JdbcUtils.close( conn,ps); } }
}
JDBC事物的处理的更多相关文章
- 数据库事物 jdbc事物 spring事物 隔离级别:脏幻不可重复读
1.数据库事物: 事物的概念 a给b打100块钱的例子 2.jdbc事物: 通过下面代码实现 private Connection conn = null; private PreparedState ...
- jdbc 事物 commit 和rollback方法
package transaction; import jdbc.utils.*; import java.sql.Connection; import java.sql.PreparedStatem ...
- jdbc 事物
package transaction; import jdbc.utils.*; import java.sql.Connection; import java.sql.PreparedStatem ...
- JDBC——事物管理
案例:银行转账问题,数据库如下 相关API setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态.设置事务是否自动提交如果设置为false,表示手 ...
- JDBC学习1:详解JDBC使用
什么是JDBC JDBC(Java Database Connectivity),即Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供同一访问,它由一组用Java ...
- 在Hibernate中分别使用JDBC和JTA事务的方法
在Hibernate中使用JDBC事务 Hibernate对JDBC进行了轻量级的封装,它本身在设计时并不具备事务处理功能.Hibernate将底层的JDBCTransaction或JTATransa ...
- 浅谈JDBC(二)
JDBC中的事务 简单来说,事务就是要保证一组DAO方法的操作,要么一起成功要么一起失败. 1.事务控制的位置 在Service中的业务方法内进行事务控制. 2.事务控制的代码 a.注意:JDBC会自 ...
- java_web学习(12)JDBC
数据持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的 ...
- Java事物基础总结
1.什么是事物? 事物是逻辑上的的一种操作,这个操作过程中的每一个元素要么全部成功,要么全部失败.例如,银行转账过程视为一个事物,转出过程和转入过程要求全部成功或全部失败,通过提交事物或者回滚事物实现 ...
随机推荐
- tkinter pyqt同时呈现两个窗口
- RHEL yum
一.YUM源配置 使用RHEL自带的yum时会显示 #This system is not registered to Red Hat Subscription Management. You can ...
- 读O目标KR关键结果的一些个人理解
O目标KR关键结果 为了完成一个目标,需要完成几个或者多个关键的结果来验证. 书的开头写的是一些理论,有印象的东西还是从汉娜和杰克的公司来说,卖茶叶的公司.联系着茶农和可以产生消费的餐馆和供应商,在未 ...
- jdk src 学习 Threadlocal
示例: import java.io.Serializable; public class TestThreadLocal implements Serializable { /** * */ pri ...
- zabbix监控java日志文件
zabbix监控日志文件 https://blog.csdn.net/workdsz/article/details/78439230?utm_source=blogxgwz2
- ubuntu 使用sudo apt-get update命令的时候会报http://archive.ubuntukylin.com:10006/ubuntukylin/dists/xenial/InRelease 无法连接
参考: https://blog.csdn.net/xiaoyan94/article/details/52404539 于是找到一个包含 http://archive.ubuntukylin.co ...
- 【转】简明 Vim 练级攻略
原地址:https://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一 ...
- 浅析USB HID ReportDesc (HID报告描述符)
在USB中,USB Host是通过各种描述符来识别识别设备的,一般在设备枚举的过程将会获取有设备描述符/配置描述符/接口描述符/端点描述符/字符串描述符等 现在我们来介绍一下HID ReportDes ...
- Lua的特点
特点: Lua是一个脚本语言.是目前速度最快的脚本语言.它能与C/C++代码互相调用. Lua脚本是跨平台的,是要使用Lua基本语法和标准库写的脚本,都是可以跨平台的(用了扩展库则不一定). Lua源 ...
- day15-函数进阶
1.函数嵌套 多个函数嵌套在一起即为函数嵌套 在调用函数时,函数需在调用之前定义,如果函数在调用之后才定义,则不能被成功调用.当定义多个函数时,函数名称不能相同,否则后定义的函数会将之前的函数覆盖,即 ...