代码还是沿用上次的项目,这里就不新建了。
一、数据更新
说到数据更新,就得说一种锁:离线乐观锁。
简单来讲:就是张三让财务部门给老六原来的1000工资上在加500,结果财务部的李四和王五都同一时间给了老六加了500,结果变成了1000+500+500,那么就会产生数据库的丢失更新问题。
如何解决?
就得使用离线乐观锁了,在数据库加上一个vsersion默认为0的字段。
假如在李四进行修改时会将数据库的version字段的值0取出来进行+1,并且存在session或者其他地方,在更新数据,那么王五在更改时也得先获取到version的值0,然后一比较,发现version变了,就不能在进行更改了。那样就是1000+500,version就变成1了
更改数据库
, 加上version字段
id改成19位的字符串
更改实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
//@TableId(type = IdType.I