关于spring事务

在ORACLE数据库中,一般DDL语句是隐式COMMIT提交的,所以在修改表或者创建表时,不写COMMIT也会执行。
但一条sql的时候,如果不显示commit(),SQL便不会持久化到数据库。
在spring中,JdbcTemplate操作采用的是JDBC默认的AutoCommit模式,当没有显示指定事务时,JDBC会将一条SQL作为一个事务来执行。也就是说,数据还是会持久化到数据库。
由于一条SQL就是一个事务。当这条SQL执行出错的时候,这条SQL所做的修改会回滚。但是这条SQL之前的动作不会回滚。举个例子:
如果一个方法有三条SQL操作:
A
B
C
如果该方法没有配置事务,那么A、B、C三条SQL会作为三个事务来执行。
当A、B执行完,执行C时出错。C所做的修改都会被回滚,但是,A和B所做的修改不会被回滚,还是会持久化到数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值