使用注解实现事务
1、导入jar包
spring-tx-4.3.9.RELEASE
ojdbc.jar
commons-dbcp.jar 连接池使用到数据源
commons-pool.jar 连接池
spring-jdbc-4.3.9.RELEASE.jar
aopalliance.jar
2、配置
jdbc\mybatis\spring
增加事务tx的命名空间
<!-- 配置数据库相关 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
<!-- 最大活跃时间 -->
<property name="maxActive" value="10"></property>
<!-- 最大空闲时间 -->
<property name="maxIdle" value="6"></property>
</bean>
<!-- 配置事务管理器txManager -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 增加对事务的支持 -->
<tx:annotation-driven transaction-manager="txManager" />
3、使用
将需要成为事务的方法前增加注解
//readOnly:可以增删查改 rollbackFor:遇到什么类型问题回滚
@Transactional(readOnly=false,propagation=Propagation.REQUIRED,
rollbackFor={SQLException.class,ArithmeticException.class})
@Override
public void addStudent(Student student) {
studentDao.addStudent(student);;
}