使用mysql做数据库,mybatis做orm的系统中,mybatis的乐观锁和悲观锁实际上就是mysql的乐观锁和悲观锁。
实例中使用springboot整合mybatis,一并记录了。
添加依赖:
mysql
mysql-connector-java
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
application.properties配置:
mybatis.type-aliases-package=com.lin.learn.mysql
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://192.168.0.103:3306/mysql?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root
实体类:
public class TestEntity {
private int id;
private int count;
private int version;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
}
加上相关注解:
@SpringBootApplication
@MapperScan("com.lin.learn.mysql")
public class App {
public static void main(String[] args) {
ApplicationContext applicationContext = SpringApplication.run(App.class, args);
}
}
乐观锁
就是使用一个version字段标识数据的当前版本,每次更新数据的时候同时更新version = version + 1ÿ