乐观锁与悲观锁
悲观锁假设当前事务会被其他事务同时访问,避免当前事务的操作受到干扰,先锁定资源。
是一种使用数据库的锁
乐观锁是假设当前事务不会别其他事务同时访问,当其他事务访问的时候再使用程序逻辑去解决。
当前事务加上Version字段,当事务结束的时候,version值加1.对比开始和提交时候的值,不一样将报错
Mybatis-plus 乐观锁操作
1.增加version 字段
2.给version字段添加注解 @Version
@Version
private int version;
3.创建mybatis-plus配置类:乐观锁插件实体类注入
@MapperScan("com.liuqing.mybatisplus.mapper")//扫描mapper文件
@EnableTransactionManagement //事务操作
@Configuration //配置类
public class MyBatiesPlusConfig {
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptorterce(){
return new OptimisticLockerInterceptor();
}
}