java事务管理

事务应该是程序中必须要考虑的事情,现在的开发框架中后台部分大都采用了hibernate或者spring,因此添加事务也是比较容易的。但是如果没有用到hibernate或者spring,后台部分的设计用的是纯JDBC,那么该如何添加事务呢?结合所维护的一个项目谈一下自己的想法。

我们的项目后台用的是一个开源控件DbUtils,其实它就是对JDBC进行了一些封装,具有免除大量建立连接释放连接等操作,使代码清晰便于维护等优点。项目原来是没有加事务控制的,现在需要添加,思路如下:

方法1:首先要设计一个ConnectionMange的类,在类里面要对Connection的对象统一管理,然后在DAO层的方法里(当然是指具有更新操作的方法)传入一个Connection的对象,这个对象并不实例化,实例化的过程在Service层调用该DAO的方法时在进行,当然事务的所有操作都要在Service层进行。

方法2:DAO层的方法声名中不传入Connection的对象,在方法体中从ConnectionMange获得具体连接,仍旧在Service层调用该DAO的方法时进行事务的所有操作。

由于后台采用的是控件DbUtils,因此DAO层的方法声名中原来并没有Connection的对象,所以如果按照方法1代码改动将会非常大,所以按照方法2来修改了。

其实事务就是确保不同的线程公用一个Connection,下面推荐两个网址,对JDBC的事务有很详细的说明:

http://www.ublog.cn/user1/11/archives/2006/21953.html

http://hi.baidu.com/luodaijun/blog/item/2ee9cbbf4c960e0a19d81fad.html

你可能感兴趣的:(java,DAO,spring,Hibernate,jdbc,service)