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); } }
}

最新文章

  1. Python之路【第二篇】python基础 之基本数据类型
  2. asp.net中实现文件下载功能
  3. js-高级技术
  4. Nginx源码研究六:NGINX的配置文件分析
  5. PooledDataSource--mybatis-3-mybatis-3.2.3
  6. POJ 3076 Sudoku (dancing links)
  7. 使用python修改QQ密保(脚本)
  8. asp.net C# 实现微信接口权限开发类
  9. LVM挂载失败mount: you must specify the filesystem type
  10. 浅谈JavaScript的面向对象程序设计(二)
  11. DSAPI TreeView节点增删简化操作
  12. php7 闭包调用
  13. kernel笔记——内核编译与进程管理
  14. JAVA的DES加密解密在windows上测试一切正常,在linux上异常
  15. OpenStack构架简介
  16. 阿里巴巴Java开发规约及插件安装
  17. javascript事件绑定和普通事件的区别
  18. 如何在spring-boot web项目中启用swagger
  19. 由table理解display:table-cell
  20. 【Selenium-WebDriver自学】Selenium-IDE模式匹配(六)

热门文章

  1. 【Jmeter自学】Jmeter脚本录制(二)
  2. git回滚到某个版本操作
  3. js:浏览器插件
  4. 《算法》第六章部分程序 part 4
  5. js提高篇
  6. python中的upper、lower、capitalize、title
  7. Centos 7 下创建LVM流程
  8. 修改Tomcat的网页端口和指向路径
  9. otter 数据同步
  10. git push error HTTP code = 413