background:我司的祖传代码是手动从 csv 读表数据,然后通过单独的 jdbc 插入,处理完业务再手动删,不过个人觉得可以用如下的写法..模板方法
/**
* 核心实现
*/
@Test
public final void runWithRollBack() {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
try {
//利用 spring 的 jdbc 插入
initDBSource();
//主要业务操作
mainTest();
} catch (Exception e) {
LOGGER.error(e);
} finally {
//强制回滚
transactionStatus.setRollbackOnly();
}
}
});
}
请问 v2 的大佬怎么看??
1
p1094358629 OP 挽回楼主尊严,竟然判我机器人
|
2
p1094358629 OP 人工置顶!!乌漆嘛黑,
|
3
wc951 2020-01-17 08:33:34 +08:00 via Android
你如果只是想回滚事务的话,一个 @Transactional 注解就搞定了
|
4
p1094358629 OP @wc951 你说的声明式事务只有在异常会回滚,我想要的目的是测试完成,不论成功失败都回滚
|
5
wc951 2020-01-17 15:27:57 +08:00 via Android
@p1094358629 不是的,@springboottest 里加上这个会自动回滚
|
6
p1094358629 OP @wc951 写过 ,但是不生效
|
7
p1094358629 OP |