JFinal

JFinal

添加事务方式

    一种是添加在DAO中(未验证)

        boolean succeed = Db.tx(new IAtom(){

              public boolean run()  {

                int count = Db.update(“update account set cash = cash – ? where id = ?”, 100, 123);

                int count2 = Db.update(“update account set cash = cash + ? where id = ?”, 100, 456);

                return count == 1 && count2 == 1;

              }});

     一种是添加在Action中(已验证)

        @Before(Tx.class)

        public void xxxAction(){

            try {

                // 业务逻辑

            } catch (Exception e) {

                renderErrorJson(“操作失败”);// 自定义render

                throw new NestedTransactionHelpException(“操作失败,回滚”);

            }

            renderSuccessJson(“操作成功”); // 自定义render

        }

转载于:https://my.oschina.net/longfong/blog/349005

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109644.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jvm最全详解-05-JVM调优工具详解及调优实战[通俗易懂]

    jvm最全详解-05-JVM调优工具详解及调优实战[通俗易懂]jvm最全详解-05-JVM调优工具详解及调优实战前置启动程序事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用Jmap此命令可以用来查看内存信息,实例个数以及占用内存大小jmap-histo14660#查看历史生成的实例jmap-histo:live14660#查看当前存活的实例,执行过程中可能会触发一次fullgc打开log.txt,文件内容如下:num:序号 instances:实例数量 b..

    2022年5月31日
    40
  • android 触屏事件总结

    android 触屏事件总结如果view的down事件返回true,则接下去的move,up,cancel,事件最多传递到这个view,不会传递给view的子view如果所有的view的down事件都返回false,则后续的move,up,cancel,事件都不会传递给所有的view。所以,可以总结,就是down事件决定了触屏事件传递链的最后一个view如果viewX的down事件返回

    2022年9月11日
    0
  • MATLAB——axis

    MATLAB——axisaxis中文为“轴”之意,在matlab中用于控制坐标轴的范围和样式(颜色等)。axis([XMINXMAXYMINYMAX])设置当前所绘图像的x轴和y轴的范围。axis([XMINXMAXYMINYMAXZMINZMAX])设置当前所绘图像的x轴、y轴和z轴的范围。例子:>>x=[1,2,3,4,5];>>y=[2,3,4,5,6];

    2022年5月10日
    51
  • git 提交代码常用命令

    git 提交代码常用命令 一、master分支代码提交过程 gitlog 查看git合入的记录    gitpull从服务器重新拉代码,将本地代码更新为服务器上的最新代码 gitstatus查看本地代码状态,是否有待提交的代码  git add.  将本地代码全部提交  gitcommit-m"合入新的PUCCH和小区功率代码"   为本次提交添加注释 …

    2022年6月26日
    39
  • angular子组件传值给父组件[通俗易懂]

    angular子组件传值给父组件[通俗易懂]angular子组件传值给父组件step1: D:\vue\untitled2901\src\app\app.component.tsimport{Component}from’@angular/core’;@Component({selector:’app-root’,template:`Message:{{message}}<app-child(messageEvent)=”receiveMessage($event)”></app

    2022年10月27日
    0
  • python获取文件名后缀名_python获取文件名不含后缀名

    python获取文件名后缀名_python获取文件名不含后缀名importosfile_path=”/home/admin/Desktop/test.py”filepath,tempfilename=os.path.split(file_path)filename,extension=os.path.splitext(tempfilename)filepath文件目录filename文件名extension文件扩展名…

    2022年9月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号