最近有個業務是for循環裏面,cp源碼出售《企娥21717 93408》循環一次業務提交一次,過程中發現事務不能提交,總結一下這個問題
第一點:
我用的是通用mapper,用到他的updateByPrimaryKeySelective方法,這個方法必須設置主鍵,不然他的where後面會帶上所有字段造成sql錯誤。
第二點:
用spring來做聲明式事務的話,方法直接調用內部方法是不會走到代理類的,也就是不會走到切面,所以@Transactional可能會失效
所有我把更新業務單獨提出來寫在另外一個類裏面就搞定了。