|
@@ -71,7 +71,7 @@ public class OptimisticLockerInterceptorTest {
|
|
|
// 更新数据
|
|
|
versionUser.setName("苗神");
|
|
|
shortVersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertTrue(versionUser.getVersion() == originVersion + 1);
|
|
|
+ Assert.assertTrue(shortVersionUserMapper.selectById(1).getVersion() == originVersion + 1);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -82,7 +82,7 @@ public class OptimisticLockerInterceptorTest {
|
|
|
// 更新数据
|
|
|
versionUser.setName("苗神");
|
|
|
intVersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertTrue(versionUser.getVersion() == originVersion + 1);
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(1).getVersion() == originVersion + 1);
|
|
|
|
|
|
// 重复测试一次,验证动态参数覆盖
|
|
|
// 查询数据
|
|
@@ -92,14 +92,14 @@ public class OptimisticLockerInterceptorTest {
|
|
|
// 更新数据
|
|
|
versionUser2.setName("苗神");
|
|
|
intVersionUserMapper.updateById(versionUser2);
|
|
|
- Assert.assertTrue(versionUser2.getVersion() == originVersion2 + 1);
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(2).getVersion() == originVersion2 + 1);
|
|
|
|
|
|
// 测试一次数据库中version为null
|
|
|
IntVersionUser versionUser3 = intVersionUserMapper.selectById(3);
|
|
|
// 更新数据
|
|
|
versionUser3.setName("苗神");
|
|
|
intVersionUserMapper.updateById(versionUser3);
|
|
|
- Assert.assertTrue(versionUser3.getVersion() == null);
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(3).getVersion() == null);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -111,7 +111,7 @@ public class OptimisticLockerInterceptorTest {
|
|
|
// 更新数据
|
|
|
versionUser.setName("苗神");
|
|
|
longVersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertTrue(versionUser.getVersion() == originVersion + 1);
|
|
|
+ Assert.assertTrue(longVersionUserMapper.selectById(1).getVersion() == originVersion + 1);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -124,9 +124,10 @@ public class OptimisticLockerInterceptorTest {
|
|
|
versionUser.setVersion(originVersion);
|
|
|
dateVersionUserMapper.insert(versionUser);
|
|
|
// 更新数据
|
|
|
- versionUser.setName("小锅盖");
|
|
|
- dateVersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertTrue(versionUser.getVersion().after(originVersion));
|
|
|
+ DateVersionUser q = dateVersionUserMapper.selectById(15);
|
|
|
+ q.setName("小锅盖");
|
|
|
+ dateVersionUserMapper.updateById(q);
|
|
|
+ Assert.assertTrue(dateVersionUserMapper.selectById(15L).getVersion().after(originVersion));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -139,20 +140,21 @@ public class OptimisticLockerInterceptorTest {
|
|
|
versionUser.setVersion(originVersion);
|
|
|
timestampVersionUserMapper.insert(versionUser);
|
|
|
// 更新数据
|
|
|
- versionUser.setName("小锅盖");
|
|
|
- timestampVersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertTrue(versionUser.getVersion().after(originVersion));
|
|
|
+ TimestampVersionUser q = timestampVersionUserMapper.selectById(15);
|
|
|
+ q.setName("小锅盖");
|
|
|
+ timestampVersionUserMapper.updateById(q);
|
|
|
+ Assert.assertTrue(timestampVersionUserMapper.selectById(15L).getVersion().after(originVersion));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void stringVersionTest() {
|
|
|
// 查询数据
|
|
|
StringVersionUser versionUser = stringersionUserMapper.selectById(1);
|
|
|
- String originVersion = versionUser.getVersion();
|
|
|
+ String originVersion = versionUser.getTt();
|
|
|
// 更新数据
|
|
|
versionUser.setName("苗神");
|
|
|
stringersionUserMapper.updateById(versionUser);
|
|
|
- Assert.assertEquals(versionUser.getVersion(), String.valueOf(Long.parseLong(originVersion) + 1));
|
|
|
+ Assert.assertEquals(stringersionUserMapper.selectById(1).getTt(), String.valueOf(Long.parseLong(originVersion) + 1));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -162,14 +164,15 @@ public class OptimisticLockerInterceptorTest {
|
|
|
new Thread(new Runnable() {
|
|
|
public void run() {
|
|
|
IntVersionUser intVersionUser = new IntVersionUser();
|
|
|
- intVersionUser.setId(random.nextLong());
|
|
|
+ long id = random.nextLong();
|
|
|
+ intVersionUser.setId(id);
|
|
|
int version = random.nextInt();
|
|
|
intVersionUser.setName("改前" + version);
|
|
|
intVersionUser.setVersion(version);
|
|
|
intVersionUserMapper.insert(intVersionUser);
|
|
|
intVersionUser.setName("改后" + version);
|
|
|
intVersionUserMapper.updateById(intVersionUser);
|
|
|
- Assert.assertTrue(intVersionUser.getVersion() == version + 1);
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(id).getVersion() == version + 1);
|
|
|
}
|
|
|
}, "编号" + i).start();
|
|
|
}
|
|
@@ -186,10 +189,23 @@ public class OptimisticLockerInterceptorTest {
|
|
|
// 查询数据
|
|
|
IntVersionUser versionUser = intVersionUserMapper.selectById(2);
|
|
|
Integer originVersion = versionUser.getVersion();
|
|
|
- // 更新数据
|
|
|
- IntVersionUser intVersionUser = new IntVersionUser();
|
|
|
- intVersionUser.setName("苗神");
|
|
|
- intVersionUserMapper.update(versionUser, new EntityWrapper<IntVersionUser>(versionUser));
|
|
|
- Assert.assertTrue(versionUser.getVersion() == originVersion + 1);
|
|
|
+ // null条件
|
|
|
+ intVersionUserMapper.update(versionUser, null);
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(2).getVersion() == originVersion);
|
|
|
+ // 空条件
|
|
|
+ intVersionUserMapper.update(versionUser, new EntityWrapper<IntVersionUser>());
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(2).getVersion() == originVersion);
|
|
|
+ // 正常查询不带version
|
|
|
+ IntVersionUser wrapper = new IntVersionUser();
|
|
|
+ wrapper.setName("lisi");
|
|
|
+ intVersionUserMapper.update(versionUser, new EntityWrapper<IntVersionUser>(wrapper));
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(2).getVersion() == originVersion + 1);
|
|
|
+ // 原始条件带version按原始逻辑走
|
|
|
+ IntVersionUser wrapper2 = new IntVersionUser();
|
|
|
+ wrapper2.setName("lisi");
|
|
|
+ wrapper2.setVersion(originVersion + 1);
|
|
|
+ intVersionUserMapper.update(versionUser, new EntityWrapper<IntVersionUser>(wrapper2));
|
|
|
+ Assert.assertTrue(intVersionUserMapper.selectById(1).getVersion() == originVersion + 1);
|
|
|
+
|
|
|
}
|
|
|
}
|