打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
记录一下JFinal 在controller 添加事务处理
userphoto

2022.11.23 湖南

关注

在controller添加事务;

@Before(value = { ErrorInterceptor.class, Tx.class }) 

前面是拦截器处理自定义抛异常 拦截器把错误信息显示到页面   这种事务的写法 如果代码加了try 事务是不起作用的  必须手动抛异常

public class XXController extends BaseMsgController {}

刚开始 我写成了  @Before(Tx.class)  不管怎么弄都不好使, 这种写法是添加到方法上的

自定义抛异常代码: 下面catch里面 不手动抛异常 事务是不会回滚的   如果是在方法上面加 @Before...则不用手动抛 如果是在类上面整体加的需要手动抛异常

                      try {

order.update();

reVo = new ReVo(order);

} catch (Exception e) {

logger.info(e.getMessage());

Map<String, Object> map = new HashMap<String, Object>();

map.put("msg", "网络异常请刷新重试!");

UnifyThrowEcxp.throwExcp(e, map);

}

异常处理类:

public class UnifyThrowEcxp {

/**

* 统一抛异常- maps里面可自定义异常参数

*/

public static void throwExcp(Exception e, Map<String, Object> maps) {

Map<String, String> map = new HashMap<String, String>();

map.put("msg", e.getMessage());

map.put("text", e.getMessage());

if (!maps.isEmpty()) {

map.put("errMsg", JSONObject.toJSONString(maps));

}

throw new RuntimeException(JSONObject.toJSONString(map));

}

}

拦截器错误处理: 这里只是简单的 处理了一下 直接把错误信息render到了页面

public class ErrorInterceptor implements Interceptor {

public void intercept(Invocation ai) {

try {

ai.invoke();

} catch (Exception e) {

JSONObject jo = JSONObject.parseObject(e.getMessage());

ai.getController().renderJson(jo.toJSONString());

}

}

}

运行结果:

  

手动抛错调用的代码:  如果不添加自定义错误信息 就直接传一个 空的map就行

                                Map<String, Object> map = new HashMap<String, Object>();

map.put("msg", "测试测试测试!");

UnifyThrowEcxp.throwExcp(e, map);

菜鸟发帖 大神勿喷  纯属记录一下过程  

————————————————

版权声明:本文为CSDN博主「wb54979」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wangbo54979/article/details/52795484

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
对象 JSON Map List Object JSONObject JSONArray 互相转换
Json应用案例
java解析json数据 - Java / Web 开发
天气预报-java代码
json格式转换成Map的应用
通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服