背景:关于昨天我写的乐观锁,mentor指出了其中的问题,应该把version作为参数传进更新方法里,而不是在更新方法里查数据库获取version。

步骤:

①点击编辑按钮,查询岗位信息selectPostById,岗位信息中就拿到了version

②点击保存按钮,保存修改信息update,在这里把刚刚拿到的version传过去,和数据库version一致的话,操作成功。

controller代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* 根据id查询岗位信息
* @param postId
* @return
*/
@Anonymous
@GetMapping("/{postId}")
public AjaxResult selectPostById(@PathVariable Long postId){
return toAjax(demoPostService.selectPostById(postId));
}

/**
* 更新岗位信息
* @param demoPost
* @return
*/
@Anonymous
@PutMapping("/update")
public AjaxResult update(@RequestBody DemoPost demoPost) {
return toAjax(demoPostService.updatePost(demoPost));
}

总结:非常细节的业务