- Mysql事务使用
- autocommit说明
- 事务使用
- 案例
- JDBC事务使用
- TransactionTemplate对事务的使用
- 真实场景
##Mysql事务使用
###autocommit说明
####在Mysql有个属性叫做autocommit,表示是否自动提交事务,默认值是1,表示true,所以我们一般使用sql语句,执行完就立即更新数据库了。如果set auotcommit=0之后sql语句执行完之后必须执行commit才能使数据持久化。
###事务使用
mysql可以把一组sql操作放在同一事务里,要么全部执行,要么一个都不执行不执行。
1.开始一个事务start transaction,begin;
2.回滚事务rollback;
3.提交一个事务commit;
4.创建一个保存点,可以指定回滚到该点savepoint identifier;
5.删除一个事务的保存点release savepoint identifier;
6.把事务回滚到标记点 rollback to identifier。如:
begin
sql1,sql2,sql3,sql4…
commit(或rollback)
###案例
begin; 开始一个事务
update score set score=40 where scoreid=1;
savepoint s1; 创建保存点
update score set score=50 where scoreid=1;
select * from score;
rollb