一个事务问题,可以的话,希望能大致解释一下Tx.class的代码思路,表示看不太懂。参考这边的代码http://www.oschina.net/question/2286362_245721
我的代码:
User.java
@Before(Tx.class)
public void updateUsersRole(Object userIds, Object roleId){
Db.update("update user set role_id = ? where id in("+userIds+")", roleId);
}UserController.java
public void updRole() {
String roleId = getPara("roleId");
String userIds = getPara("userIds");
if(StrKit.isBlank(userIds) || StrKit.isBlank(roleId)){
renderJson(Tools.getResult(400));
return;
}
Duang.duang(User.class).updateUsersRole(userIds, roleId);
renderJson(Tools.getResult(204));
}有全局action拦截器处理异常
问题:批量update如果有一个没有update成功,并不报异常,也不报错,会继续执行完,那么@Before(Tx.class)是怎么工作的呢?因为不确定它是否真的能正常工作。原本想要做个测试模拟一下,在userIds中携带几个不存在的id,但是修改成功了,没有异常,可能这个模拟比较蠢吧。所以有点慌,真的能工作起来吗?