首先来了解一下什么是事务处理。java的事务处理就是如果对数据库进行多次操作,每一次的执行或步骤都是一个事务,如果数据库操作在某一步没有执行或出现异常而导致
事务失败,这样有的事务被执行有的就没有被执行,从而导致业务错误,因此就有了事务的回滚,取消先前的操作。
需要用到的知识有:JAVA中的反射(reflect),动态代理(Proxy),注解(annotation),数据库连接池c3p0,JDBC的操作组件DButils(可以选用);
需要用到的jar包有:
(第一个jar包可以不要,是关于日志方面的)
jar包下载地址为:http://pan.baidu.com/s/1gd7q12b
事务控制的核心:以MVC模式为基础,实现三层架构,分别是servlet层,service层(事务开启的地方),DAO层,当servlet发出一个请求对数据库进行操作时,使用注解由service层选择需要开启事务的方法,获取代理与数据库连接开启事务,调用被代理类(即service层的方法),对数据库多行数据进行增删改(查询或者是只操作一条数据不用开启事务),当出现异常时,进行回滚操作,避免事务错误。
开启事务的流程如下:
1、新建一个web项目,导入要用到的jar包到lib文件中,配置c3p0连接池,配置文件为
放在src下,配置如下
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 默认配置,只可以出现一次 -->
<default-config>
<!-- 连接超时设置30秒 -->
<property name="checkoutTimeout">3000</property>
<!-- 30秒检查一次connection