Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / JFinal 基本应用 --事务回滚

JFinal事务回滚1.当时需要用到事务回滚,但是看到网上只有问题,没有真实的到底怎么用法。2.我看了一下文档,结合了网上的大神的博客。第一种方法:Db.tx(new IAtom(){ @Override public boolean run() throw SQLException{ //在这里写要执行的操作,在执行的过程中如果有异常将回滚,如果return false 就也回滚 return true; }});我的代码:public static void clearScores()  {
        // TODO Auto-generated method stub
        Db.tx(new IAtom() {
            //在执行run的过程中,如果有异常将回滚,或者return false 将回滚
            @Override
            public boolean run() throws SQLException {
                //获取所有的到期用户
                List<Associator> assocs = Associator.dao.getAssocsOfScoresExpire();
                for( int i = 0  ; i < assocs.size() ; i ++ ){
                    Associator assoc = assocs.get(i);
                    //在积分明细中写入记录存入
                    Map map = new HashMap();
                    map.put("ASSOC_ID",assoc.get(Associator.COLLUMNS.ASSOC_ID));
                    map.put("CREATED_BY","AUTO");
                    map.put("DEAL_TYPE","扣除");
                    map.put("ASSOC_SCORE",assoc.get(Associator.COLLUMNS.ASSOC_SCORE));
                    map.put("DEAL_REASON","积分到期");
                    AssociatorScore.dao.saveScore(map);
                    //修改对应的积分和会员的最近签到时间
                    assoc.set(Associator.COLLUMNS.ASSOC_SCORE, 0);
                    assoc.set(Associator.COLLUMNS.FIRST_SIGN_TIME, Calendar.getInstance().getTime());
                    assoc.set(Associator.COLLUMNS.MODIFIED_AT, Calendar.getInstance().getTime());
                    //测试能否回滚
                    /*if( i == 1)
                        assoc.remove("ID");*/
                    assoc.update();
                }
                return true;
            }
        });
    }
} 还有一种方式: 声明事务方式:在方法前声明@Before(Tx.class) 注:我试了很多次都不管用,最终发现没有设置拦截器。文档中写的比较清楚。 还有我觉得文档真心的整理的不够,不过实现基础的功能还是可以的。Jfinal学习之路---Controller使用 http://www.linuxidc.com/Linux/2014-07/104323.htmJFinal开发8个常见问题 http://www.linuxidc.com/Linux/2015-02/113421.htmJFinal的详细介绍:请点这里
JFinal的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135251.htm