在实际数据库的操作中,无非会用到增删改查,一般增加数据、修改数据、删除数据需要开启事务。比如说你插入一条数据的时候可能插入失败,这样就需要事务。
开启事务,将任务放到一个事务中操作
将你的所有操作撤回,数据恢复一开始的样子
举例:插入数据
db.beginTransaction(); //手动设置开始事务
try{
//批量处理操作
for(Collection c:colls){
insert(db, c);
}
db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚
}catch(Exception e){
MyLog.printStackTraceString(e);
}finally{
/*
结束事务,在这里会判断是否执行了db.setTransactionSuccessful(),
如果执行了,证明事务已经提交,任务执行的过程中无异常,
如果没有执行 db.setTransactionSuccessful(),
就会回滚,什么也没操作,任务执行的过程中有异常。
*/
db.endTransaction();
db.close(); // 关闭数据库连接
}