1.主要適用場景:
當要更新一條記錄的時候,希望這條記錄沒有被別人更新,也就是說實現線程安全的數據更新
2.樂觀鎖實現方式(在數據庫新增version字段,默認為1):
取出記錄時,獲取當前version:假設取出的version=1:SELECT id,name,age,email,create_time,update_time,version FROM user WHERE id=1
更新時,帶上這個version:UPDATE USER SET `name`='zdc', `version`=`version` + 1 WHERE id=1 AND `version`=1
如果version不對,就更新失敗
3.mybatis plus中實現:
添加@version注解:
創建配置文件(刪除主類中的 @MapperScan 掃描注解):