2017.5.27 使用propagation实现:根据参数决定是否需要事务管理

1.功能描述

要实现rest接口:POST ***/entry,其中参数中有action参数。

1 当action=rollback时,批量新增出错时需要回滚。
2 当action!=rollback时,批量新增出错时跳过,处理下一条记录。

2.spring事务管理的注解式实现

之前总结过完整的spring事务管理:2017.4.18 慕课网-spring事务管理总结

1 @Transactional注解属性配置:不写的时候按默认值配置。
2 * propagation : 事务的传播行为。
3 * isolation:事务的隔离级别。
4 * readOnly:false/true,只读,数据库不可以进行插入、修改、删除等操作。
5 * rollbackFor:发生哪些异常时进行事务回滚。
6 * noRollbackFor:发生哪些异常时不进行事务回滚。
7 * time-out:过期信息。
8 
9 @Transactional(propagation=Propagation.REQUIRED, isolation=Isolation.DEFAULT, readOnly=false,...)

3.功能实现

参考来自:http://blog.sina.com.cn/s/blog_667ac0360102ebem.html

3.1 类上加@Transactional注解

 

3.2 方法上加@Transactional(propagation=Propagation.NOT_SUPPORTED)

3.3 调用时区分参数值

 

原文地址:https://www.cnblogs.com/lyh421/p/6902929.html