在插入数据时,要做唯一性检查。

可以使用mybatis,把检查写入xml文件中;也可以使用mybatis-plus来完成。

使用count,可以判断数量。

使用getOne,如果数据多于1条会抛异常。解决方式:getOne(querywrapper, false )

也可以在querywrapper加上**.last(“limit 1”)**子句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
		public String checkEmailUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique(user.getEmail());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}

public String checkIdNumberUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysUser::getIdNumber, user.getIdNumber());
queryWrapper.ne(SysUser::getUserId, userId);
long count = count(queryWrapper);
if (count > 0) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
// SysUser info = getOne(queryWrapper, false);
// if (StringUtils.isNotNull(info)) {
// return UserConstants.NOT_UNIQUE;
// }
// return UserConstants.UNIQUE;
}