dbcp事务回滚失效
public class TranceByDBCP {
public TranceByDBCP(User from,User to,Double amount){
DBCPUtil db=new DBCPUtil();
Connection conn=db.getConn();
try {
conn.setAutoCommit(false);
} catch (SQLException e2) {
e2.printStackTrace();
}
try{
UserDaoActionByDBCP uda=new UserDaoActionByDBCP();
TradeDaoActionByDBCP tda=new TradeDaoActionByDBCP();
from.setMoney(from.getMoney()-amount);
uda.update(from);
String s=null;
s.split("1");
to.setMoney(to.getMoney()+amount);
uda.update(to);
Trade trade=new Trade();
trade.setFrom_id(from.getId());
trade.setFrom_name(from.getName());
trade.setTo_id(to.getId());
trade.setTo_name(to.getName());
trade.setAmount(amount);
tda.add(trade);
conn.commit();
System.out.println("交易成功");
}catch(Exception e){
try {
conn.rollback();
System.out.println("转账失败");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
DBCPUtil中的conn没有设置setAutoCommit(true)也没有设置false,和直连数据库一样,
直连数据库回滚成功
这个代码为什么会回滚失效,不起作用