最近会遇到个小问题,就是在批量添加人员登录张号的时候需要去判断这个账号是否存在,存在的话就全部都不能保存,需要提交事务回滚,但是想了一下不怎么到怎么在声明式事务中手动回滚,百度了一下也没相关的,来寻找大神问问.
@Before(Tx.class) public void saveArea() { String[] managerNames = getParaValues("managerName"); String[] managerAccounts = getParaValues("managerAccount"); String[] managerPasswords = getParaValues("managerPassword"); List<Integer> userIds = new ArrayList<>(); if (managerNames != null) { for (int i = 0; i < managerNames.length; i++) { //调用server保存用户,并返回保存的id Integer userId = service.saveManager(managerNames[i], managerAccounts[i], managerPasswords[i]); if (userId != null) { userIds.add(userId); } } } Ret ret = new Ret(); ret.set("type", true); ret.set("msg", true); renderJson(ret); }
项目:JFinal
DbKit.getConfig().getConnection().rollback();
还可以使用下面的代码做事务:
Db.tx(() -> {
...
});
在上面的代码中,return false 也会回滚事务