使用JDBC事務(wù)管理,沒(méi)有效果
我使用的JDBC事務(wù)管理,為什么運(yùn)行的結(jié)果跟沒(méi)有使用結(jié)果相同
//有事務(wù)
?public String transaction(Account from,Account to,Double amount) throws SQLException {
??
??Connection conn=DBUtil.getConn();
??conn.setAutoCommit(false);
??
??try {
???AccountDao accountDao=new AccountDao();
???TransactionDao transDao=new TransactionDao();
???
???//客戶付錢(qián)
???from.setAmount(from.getAmount()-amount);
???accountDao.update(from);
???
???String a=null;
???a.split("1");
???
???//銀行收錢(qián)
???to.setAmount(to.getAmount()+amount);
???accountDao.update(to);
???
???//添加交易信息
???Transaction trans=new Transaction();
???
???trans.setSource_account(from.getAccount());
???trans.setDestination_account(to.getAccount());
???trans.setAmount(amount);
???trans.setSource_id(from.getId());
???trans.setDestination_id(to.getId());
???
???transDao.add(trans);
???conn.commit();
???
???return "success";
??} catch (Exception e) {
???// TODO Auto-generated catch block
???conn.rollback();
???e.printStackTrace();
???return "fail";?
??}
??
?}
2017-09-06
兩個(gè)都是有事務(wù)的,添加交易信息那里
2017-03-31
//沒(méi)有事務(wù)
?public String trans(Account from,Account to,Double amount) throws Exception{
??AccountDao accountDao=new AccountDao();
??TransactionDao transDao=new TransactionDao();
??
??//客戶付錢(qián)
??from.setAmount(from.getAmount()-amount);
??accountDao.update(from);
??
??//客戶付了錢(qián),銀行沒(méi)有收到錢(qián)
//??String a=null;
//??a.split("1");
??
??//銀行收錢(qián)
??to.setAmount(to.getAmount()+amount);
??accountDao.update(to);
??
??//添加交易信息
??Transaction trans=new Transaction();
??
??trans.setSource_account(from.getAccount());
??trans.setDestination_account(to.getAccount());
??trans.setAmount(amount);
??trans.setSource_id(from.getId());
??trans.setDestination_id(to.getId());
??
??transDao.add(trans);
??
??return "success";?
?}
這是沒(méi)有事務(wù)的,我的mysql引擎也是InnoDB的
2017-03-30
你未使用事務(wù)的代碼是什么?