1. package com.itheima.tx;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. import java.sql.Types;
  7.  
  8. import org.junit.Test;
  9.  
  10. import com.itheima.utils.JdbcUtil;
  11. /**
  12. * 转账 事务控制
  13. * update account set money=money-100 where name='aaa';
  14. update account set money=money+100 where name='bbb';
  15. * @author wangli
  16. *
  17. *
  18. * 开事务
  19. * con.setAutoCommit(false);
  20. *
  21. * 提交
  22. * con.commit();
  23. * 回滚
  24. * con.rollback();
  25. *
  26. */
  27. public class TransactionDemo1 {
  28. @Test
  29. public void testTransaction(){
  30. Connection con = null;
  31. PreparedStatement st =null;
  32. PreparedStatement st2 = null;
  33. try {
  34. con = JdbcUtil.getConnection();
  35. //设置隔离级别,一定是放在开启事务前
  36. con.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
  37. con.setAutoCommit(false);// 放在得到st之前
  38. st = con.prepareStatement("update account set money=money-100 where name='aaa'");
  39. st.executeUpdate();
  40. //int i=1/0;
  41. st2 = con.prepareStatement("update account set money=money+100 where name='bbb'");
  42. st2.executeUpdate();
  43. con.commit();//提交
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. if(con!=null){
  47. try {
  48. con.rollback();//回滚
  49. } catch (SQLException e1) {
  50. e1.printStackTrace();
  51. }
  52. }
  53. }finally{
  54. JdbcUtil.release(null, st, con);
  55. }
  56. }
  57. }

jdbc 开启事务的更多相关文章

  1. 记录一次bug解决过程:resultType和手动开启事务

    一.总结 二.BUG描述:MyBatis中resultType使用 MyBatis中的resultType类似于入参:parameterType.先看IDCM项目中的实际使用案例代码,如下: // L ...

  2. JDBC值事务

    事务的四大特性: 原子性, 一致性(比如说A给B转账,A转了之后B的账户增加了,两个都完成才叫一致性),隔离性(A给B转账,A给C转账,AB和AC并发是无关的),永久性(转账之后 不可能复原,就是说不 ...

  3. 【JDBC】事务的使用

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5868750.html 关于事务的理论知识.ACID特性等等,网上太多了,在此不一一重复.本文主要着重  事务 ...

  4. MySql事务及JDBC对事务的使用

    一 .事务的几个重要特性 1. 原子性 事务内的每个内容不可分割,是一个统一的整体.或同时进行或同时消亡. 2.一致性 事务执行前和事务执行后,状态都是统一的.如A转B 100元,A和B数据总额度没有 ...

  5. JDBC 之 事务

    1.概念:事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. 2.数据库开启事务的命令dtl: Start transaction开启事务 Rollback回滚事务(撤销) ...

  6. 事务之使用JDBC进行事务的操作

    本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...

  7. 事务之使用JDBC进行事务的操作2

    本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...

  8. JDBC【事务、元数据、改造JDBC工具类】

    1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说 ...

  9. JDBC处理事务

    一.什么是事务? 在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 二.事务是必须满足4个条件(AC ...

随机推荐

  1. HDOJ1024(最大M子段和)

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  2. 【转】Pro Android学习笔记(十二):了解Intent(下)

    解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...

  3. Ruby 事务Blocks

    block可以用来定义必须运行在事务控制环境下的代码.例如,你经常需要打开一个文件,对其内容做些处理,然后确保在处理结束后关闭文件.尽管可以用传统方式来实现,但也存在“应该由文件负责自身的关闭”这样的 ...

  4. 加载某个页面(A)时实现自动跳转到某个页面(B)

    <head> <title></title> <script type="text/javascript"> function fu ...

  5. SM4算法的c++实现

    百度到的论文已给出算法. flag为1为解密,flag为0是加密. #include<bits/stdc++.h> using namespace std; typedef long lo ...

  6. AngularJs(Part 8)--Filters

    Filters AngularJS provides fileters to transfrom data from one kind to another . For example:     {{ ...

  7. 12、IGV-Integrative Genomics Viewer

    1.IGV的网址:http://software.broadinstitute.org/software/igv/(java环境) 常见的几种输入格式bam/sam(比对文件)  TDF(bam的精简 ...

  8. google广告尺寸

    谷歌AdMob广告支持三种tablet-only旗帜大小除了320×50显示在手机: 大小(WxH) 描述 可用性 AdSize常数 320×50 标准的旗帜 手机和平板电脑 横幅 300 x250 ...

  9. 《Linux内核设计与实现》读书笔记(一)-内核简介

    本篇简单介绍内核相关的基本概念. 主要内容: 单内核和微内核 内核版本号 1. 单内核和微内核   原理 优势 劣势 单内核 整个内核都在一个大内核地址空间上运行. 1. 简单.2. 高效:所有内核都 ...

  10. ASP.NET jquery 获取服务器控件ID

    一般方法: jQuery("#txtUserName").val(); 如果页面加载了母版页或者自定义控件:该页面的ID有可能会被篡改(可能是因为避免控件ID冲突的机制),因此强烈 ...