Spring 事务保存点savepoint

Savepoint savepoint=null;保存点,记录操作位置,之后可以回滚到指定位置

try{

//获得链接

conn=。。。。

//开启事务

conn.setAutoCommit(false);

A事务
B事务

savepoint=conn.setpoint();

C事务

D事务

//提交事务

conn.commit();                                        在一个事务里面,即使CD异常,AB也能保存提交!

}catch(){

if(savepoint!=null){//CD异常

//回滚到CD之前

conn.rollback(savepoint);

//提交AB

conn.commit();

}else{//AB异常

//回滚AB

conn.rollback();}

}

posted on 2019-07-21 10:37  chris3_29  阅读(1400)  评论(0)    收藏  举报