mybatisplus 对字段加减BigDecimal类型变量值
时间: 2023-06-29 18:04:12 浏览: 57
MybatisPlus 提供了 `UpdateWrapper` 和 `LambdaUpdateWrapper` 两个类来构建更新条件和更新内容。对于 BigDecimal 类型的字段,可以使用 `setSql` 方法来实现字段值的加减操作。
例如,假设有一个名为 `User` 的实体类,其中有一个字段为 `balance`,表示用户的余额,类型为 `BigDecimal`,现在需要将某个用户的余额加上 100 元,可以使用如下代码:
```java
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("id", userId).setSql("balance = balance + 100");
userMapper.update(null, wrapper);
```
这里使用 `UpdateWrapper` 构建更新条件,使用 `setSql` 方法将更新内容设置为 `balance = balance + 100`,即将原有的余额加上 100 元。最后调用 `userMapper.update` 方法进行更新操作。
同样地,如果需要将某个用户的余额减去 100 元,可以使用如下代码:
```java
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("id", userId).setSql("balance = balance - 100");
userMapper.update(null, wrapper);
```
注意,在使用 `setSql` 方法时,需要保证 SQL 语句的正确性和安全性,避免 SQL 注入等安全问题。