jfinal声明式事务怎样配置

jfinal声明式事务怎样配置,第1张

57 声明事务

ActiveRecord支持声明式事务,声明式事务需要使用ActiveRecordPlugin提供的拦截器来实现,拦截器的配置方法见Interceptor有关章节。以下代码是声明式事务示例:

// 本例仅为示例, 并未严格考虑账户状态等业务逻辑

@Before(Txclass)

public void trans_demo() {

    // 获取转账金额

    Integer transAmount = getParaToInt("transAmount");

    // 获取转出账户id

    Integer fromAccountId = getParaToInt("fromAccountId");

    // 获取转入账户id

    Integer toAccountId = getParaToInt("toAccountId");

    // 转出 *** 作

    Dbupdate("update account set cash = cash -  where id = ",

 transAmount, fromAccountId);

    // 转入 *** 作

    Dbupdate("update account set cash = cash +  where id = ",

 transAmount, toAccountId);

}

以上代码中,仅声明了一个Tx拦截器即为action添加了事务支持。除此之外ActiveRecord还配备了TxByActionKeys、TxByActionKeyRegex、TxByMethods、TxByMethodRegex,分别支持actionKeys、actionKey正则、actionMethods、actionMethod正则声明式事务,以下是示例代码:

public void configInterceptor(Interceptors me) {

   meadd(new TxByMethodRegex("(save|update)"));

   meadd(new TxByMethods("save", "update"));

 

   meadd(new TxByActionKeyRegex("/trans"));

   meadd(new TxByActionKeys("/tx/save", "/tx/update"));

}

上例中的TxByRegex拦截器可通过传入正则表达式对action进行拦截,当actionKey被正则匹配上将开启事务。TxByActionKeys可以对指定的actionKey进行拦截并开启事务,TxByMethods可以对指定的method进行拦截并开启事务。

注意:MySql数据库表必须设置为InnoDB引擎时才支持事务,MyISAM并不支持事务。

网页链接

通过ajax获取到服务器端返回的数据 你要解析服务器端返回的数据,然后配合上js *** 作html代码,就可以实现异步刷新。

JFinal :

是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。

JFinal将一直坚持以下设计目标:开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在坚持以上设计目标的同时,基于微内核+全方位扩展型架构,打造功能极度全面WEB+ORM开发框架。彻底解放开发者的生产力,彻底改善开发者的开发体验,让软件开发成为一件轻松愉快的事情。

JFinal通过实践逐步形成了一套极速开发方法,此法将在即将打造的JFinal极速开发社区展示出来。

网页链接

getFile文件上传

Controller提供了getFile系列方法支持文件上传。

特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。

文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfigconfigConstant(Constants me)方法中通过mesetBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。

上面是注意事项, 

代码:

UploadFile uf = getFile();

File f = ufgetFile();

String path = fgetPath();

//或者 String path = ufgetUploadPath() + Fileseparator + ufgetFileName();

以上就是关于jfinal声明式事务怎样配置全部的内容,包括:jfinal声明式事务怎样配置、如何使用JFinal实现ajax局部刷新、jfinal整合hdfs文件上传时如何获取真实路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9313640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存