什么是事务?
事务其实就是一系列操作单元的集合,这代表这一系列的过程,在这个过程中,每个操作单元都要秉承事务必须持有的四大特性。这么说非常的官方,我们举个经典例子说明:
例子1:
小张需要取500元现金,于是到ATM机上操作,在出钱的时候,由于ATM机故障,钱没有出来,于是小张去柜台查询,发现银行卡并没有少500元,还是原来的金额。(这种情况我就亲手经历过)
小张的取钱的这行为是一个操作单元,ATM收到取款信息进行扣款的行为也是一个操作单元。伪代码如下:
Connect conn = null;
try{
Constom constom = new Constom("xiaozhang");
ATM atm = new ATM();
conn = atm.connectDB();
Account account = getConstomAccount(constom,conn );
Double total = account.getTotal();
Double current = total - 500;
account .setTotal(current);
update(account);
atm.pull(500);
conn.commit();
}catch(Exception e){
conn.rollback();
}finally{
try{
conn.close();
} catch(Exception e){
}
}