spring boot mybatis plus 判断一个值在数据库是否存在,存在加1,1有了加2 往上叠加
时间: 2024-02-18 07:05:23 浏览: 96
spring boot + mybatis plus
如果您需要实现往上叠加(即每次加上前一个值),可以在判断值是否为1之前,先将查询到的值保存下来,然后再进行判断和更新操作。具体代码如下:
```
// 假设您要判断的字段名为value,您需要查询的表名为tableName
// 首先构造查询条件
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.eq("value", value);
wrapper.eq("tableName", tableName);
// 查询数据库中是否存在符合条件的记录
Entity entity = entityMapper.selectOne(wrapper);
// 如果存在符合条件的记录
if (entity != null) {
// 取出value字段的值
Integer dbValue = entity.getValue();
// 将该值保存下来
Integer oldValue = dbValue;
// 判断该值是否为1
if (dbValue == 1) {
// 如果是1,则将其修改为2
dbValue = 2;
} else {
// 如果不是1,则将其加1,并加上前一个值
dbValue += (oldValue - 1);
}
// 更新数据库中的记录
entity.setValue(dbValue);
entityMapper.updateById(entity);
} else {
// 如果不存在符合条件的记录,则新增一条记录
Entity newEntity = new Entity();
newEntity.setValue(1);
newEntity.setTableName(tableName);
entityMapper.insert(newEntity);
}
```
请将代码中的Entity替换为您实际的实体类名,entityMapper替换为您实际的Mapper类名。另外,代码中的value和tableName是您传入的参数,也需要替换为实际的参数名。
阅读全文