JDBC的事务(简单例子示范)
2016-03-28 00:08
302 查看
学的新知识 要记录一哈哈:
首先我们要知道事务的控制主要是三大步骤:
1,start transaction:开启事务。
2,rollback:回滚事务;(savepoint:这个是当代码运行出现错误的时候,回滚到指定的位置);
3,commit:提交事务。
接下来写个Test代码
主要看事务是怎么发生的!
首先我们要知道事务的控制主要是三大步骤:
1,start transaction:开启事务。
2,rollback:回滚事务;(savepoint:这个是当代码运行出现错误的时候,回滚到指定的位置);
3,commit:提交事务。
接下来写个Test代码
主要看事务是怎么发生的!
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Savepoint; import java.sql.Statement; import org.junit.Test; public class test { @Test public void time() { Connection conn =null; PreparedStatement stmt=null; try{ // 获取与数据库的链接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名", "数据库用户名", "密码"); conn.setAutoCommit(false);//默认自动提交,现在改为false手动提交 // 创建代表SQL语句的对象(建议用PrepareStatement) stmt = conn.prepareStatement("sql语句银行A用户转100给B:资金减去100"); // 执行SQL语句 stmt.executeUpdate();//根据不同的操作 增删改查 运用不同的方法 //在此设置回滚点当出现异常时操作则回滚到这个点 //Savepoint savepoint = conn.setSavepoint();//如果没有设置则回滚到第一条sql语句执行之前 stmt = conn.prepareStatement("sql语句银行B用户接收100:资金加100"); // 执行SQL语句 stmt.executeUpdate(); conn.commit();//提交事务 }catch (Exception e) { // TODO: handle exception if(conn!=null){ try { conn.rollback();//rollback } catch (SQLException e1) { e1.printStackTrace(); } } }finally{ if(conn!=null){ try { conn.commit(); } catch (SQLException e) { e.printStackTrace(); } } try { stmt.close(); conn.close(); } catch (Exception e2) { // TODO: handle exception } } } }
相关文章推荐
- 24. Swap Nodes in Pairs
- MVC |Web API | HttpClent
- java发送http请求 自动预约MZD记念馆团体票 分析第一步自动登陆carles抓包
- Jenkins(三)RF插件使用
- 第4周作业 邱鹏 2013551628
- MyBatis:4
- Java 引用
- spring mvc 学习笔记【1】---前言
- 《CMOS集成电路后端设计与实战》读书笔记
- MyBatis:3
- next_Permutation 全排列
- hadoop上传文件功能实例代码
- 最新密码验证正则表达式
- ASP.NET通过byte正确安全的判断上传文件格式
- ASP.NET 5已终结,迎来ASP.NET Core 1.0和.NET Core 1.0
- ASP.NET实现QQ、微信、新浪微博OAuth2.0授权登录 原创
- 详解ASP.NET MVC Form表单验证
- Python字符串切片操作知识详解
- Python对数据库操作
- Python常用的爬虫技巧总结