亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用JDBC事務管理,沒有效果

我使用的JDBC事務管理,為什么運行的結果跟沒有使用結果相同

//有事務
?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();
???
???//客戶付錢
???from.setAmount(from.getAmount()-amount);
???accountDao.update(from);
???
???String a=null;
???a.split("1");
???
???//銀行收錢
???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";?
??}
??
?}

正在回答

3 回答

兩個都是有事務的,添加交易信息那里

0 回復 有任何疑惑可以回復我~

//沒有事務
?public String trans(Account from,Account to,Double amount) throws Exception{
??AccountDao accountDao=new AccountDao();
??TransactionDao transDao=new TransactionDao();
??
??//客戶付錢
??from.setAmount(from.getAmount()-amount);
??accountDao.update(from);
??
??//客戶付了錢,銀行沒有收到錢
//??String a=null;
//??a.split("1");

??
??//銀行收錢
??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";?
?}

這是沒有事務的,我的mysql引擎也是InnoDB的

0 回復 有任何疑惑可以回復我~

你未使用事務的代碼是什么?


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

使用JDBC事務管理,沒有效果

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號