spring boot mybatis plus 判断一个值在数据库是否存在,存在就后面加一个数字,不能在数据库重复
时间: 2024-02-19 21:03:16 浏览: 139
可以使用 MyBatis Plus 自带的 `Wrapper` 来实现此功能。具体实现步骤如下:
1. 创建一个 `Wrapper` 对象,使用 `eq()` 方法设置查询条件。
2. 使用 `selectCount()` 方法查询符合条件的记录数。
3. 如果记录数大于 0,说明该值已经存在,需要加上一个数字。
4. 如果记录数等于 0,说明该值不存在,可以直接使用该值。
下面是一个示例代码:
```
public String getUniqueValue(String value) {
int count = 0;
String newValue = value;
Wrapper wrapper = new QueryWrapper().eq("value", value);
count = mybatisPlusMapper.selectCount(wrapper);
while (count > 0) {
newValue = value + count;
wrapper = new QueryWrapper().eq("value", newValue);
count = mybatisPlusMapper.selectCount(wrapper);
count--;
}
return newValue;
}
```
该方法会先查询数据库中是否存在该值,如果存在则加上一个数字,直到找到一个不存在的值为止。注意,该方法需要使用事务来保证并发情况下的数据一致性。
阅读全文