最近会遇到个小问题,就是在批量添加人员登录张号的时候需要去判断这个账号是否存在,存在的话就全部都不能保存,需要提交事务回滚,但是想了一下不怎么到怎么在声明式事务中手动回滚,百度了一下也没相关的,来寻找大神问问.
@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 也会回滚事务