Jfinal 事务回滚问题

发布于 2021-12-01 18:31:50 字数 799 浏览 867 评论 2

@JFinal 有个事务的问题请教一下,代码在下面,如果执行到第二个if 的结果为false,save方法会回滚吗? 

public boolean saveUserCharge(UserCharge uc){
boolean flag=Db.tx(new IAtom() {

@Override
public boolean run() throws SQLException {
boolean success=uc.save();
if(!success){
return false;
}
//账户增加金额
double add_Money=uc.getDouble("money");
double add_sendMoney=uc.getDouble("send_money");
if(add_Money==0&&add_sendMoney==0){
return false;
}
if(uc.getInt("uid")==0||uc.getInt("uid")==null){
return false;
}

return true;
}
});
return flag;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青萝楚歌 2021-12-03 09:29:31

白龙吟 2021-12-03 07:12:23

   只要是 IAtom 接口实现类中的 run 方法返回  false 就会被回滚,不管是在第几 if 都一样。但你要先确保事务支持的一些必要条件,例如:mysql 需要 innodb 引擎,不要跨数据源,事务级别要符合代码的需要。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文