文档章节

dbutils + mysql事务

fuwu360
 fuwu360
发布于 2016/01/25 23:12
字数 210
阅读 226
收藏 4
public static void main(String[] args) throws SQLException {
	        boolean originalAutoCommitSetting = false;
	        Connection connection = null;
	        try {
	            connection = DbPoolConnection.getDataSource().getConnection();
	            /**
	             * 在创建QueryRunner对象时,不传递数据源给它,是为了保证这两条SQL在同一个事务中进行,
	            * 我们手动获取数据库连接,然后让这两条SQL使用同一个数据库连接执行
	             */
	            QueryRunner runner = new QueryRunner();
	            originalAutoCommitSetting = connection.getAutoCommit();
	            System.out.println("originalAutoCommitSetting:" + originalAutoCommitSetting);
	            //开启事务
	            connection.setAutoCommit(false);
	            System.out.println("originalAutoCommitSetting2:" + connection.getAutoCommit());
	            String sql1 = "insert into ssq(qishu) values(?)";
	             String sql2 = "insert into ssq(qishu) values(?)";
	             Object[] paramArr1 = {123};
	             Object[] paramArr2 = {456};
	             runner.update(connection,sql1,paramArr1);
	               //模拟程序出现异常让事务回滚
	               int x = 1/0;
	             runner.update(connection,sql2,paramArr2);

	            connection.commit();

	        }catch (Exception e) {
	                    if(null != connection){
	        	                //出现异常之后就回滚事务
	                    	connection.rollback();
	        	            }
	                    e.printStackTrace();
	        	        }finally{
	        	            //关闭数据库连接
	        	        	 if(null != connection){
	        	        	connection.setAutoCommit(originalAutoCommitSetting);
		                    connection.close();
	        	        	 }
	        	        } 
	    }

注意,mysql必须是InnoDB引擎,否则事务无效!

© 著作权归作者所有

fuwu360
粉丝 1
博文 30
码字总数 8618
作品 0
朝阳
私信 提问
day14_DBUtils学习笔记

一、DBUtils介绍 Apache公司开发的框架。   DBUtils是java编程中的数据库操作实用工具,小巧简单实用。   DBUtils封装了对JDBC的操作,简化了JDBC操作。可以少写代码。 commons-dbutils 是...

黑泽明军
2018/05/20
0
0
DbUtils的改进版DbUtils-Pro1.7.0发布

DbUtils-Pro是一个DbUtils的改进版,它支持多种SQL风格并改进事务管理。主要特点有: 改进DbUtils的异常处理,将SQLException转化为运行时导常抛出,无需再手工捕获异常,这点类似于Spring的...

yong9981
2017/08/31
8
0
MySQL数据库实操教程(33)——DBUtils框架

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/lfdfhl/article/details/99662569 自定义View系列教程00–推翻自己和...

谷哥的小弟
08/17
0
0
Spring除了支持hibernate事务之外还支持别的吗?

公司有个中小型的项目,leader想用hibernate,可是本人实在对hibernate没什么好感,本来打算用DButils,可是它不支持事务,想问一下有没有办法让spring支持dbutils事务,像支持hibernate那种...

macray
2014/08/20
260
2
请大家帮个忙,同时红薯大哥关注下这个问题

接着前一个问题,当前想用spring来进行注入、权限控制、ioc等,结合dbutils使用,dbutils执行crud需要连接,这个连接我可不可以用spring去给他,然后具体spring实现的事务机制是否针对连接来...

周扒皮
2011/06/11
287
4

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
43分钟前
4
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
14
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部