mybatisplus saveOrUpdate
时间: 2023-09-05 13:08:42 浏览: 386
MybatisPlus中的saveOrUpdate方法用于实现新增或更新操作。如果参数实体对象的主键已经存在,则执行更新操作;否则执行新增操作。
具体实现流程如下:
1. 首先判断传入实体对象是否具有主键值。
2. 如果实体对象主键值不为空,那么执行更新操作;否则执行新增操作。
3. 如果是执行更新操作,则根据实体对象的主键值进行更新;否则执行插入操作。
示例代码如下:
```java
User user = new User();
user.setId(1L);
user.setName("Tom");
user.setAge(20);
userService.saveOrUpdate(user);
```
在上述示例中,如果id为1的记录已经存在,则执行更新操作,将该记录的name和age字段更新为"Tom"和20;否则执行新增操作,插入一个id为1,name为"Tom",age为20的新记录。
相关问题
mybatisplus saveorupdate
saveOrUpdate是MyBatis Plus框架中的一个方法,用于在数据库中保存或更新实体对象。该方法首先会尝试根据条件进行更新操作,如果更新成功则返回true,表示已经更新了数据库中的记录。如果更新不成功,则会调用无条件构造器的方法,即saveOrUpdate(entity)方法,该方法会判断实体对象是否已经存在于数据库中,如果存在则进行更新操作,如果不存在则进行新增操作。最终,saveOrUpdate方法会返回一个布尔值,表示操作是否成功。
mybatisplus saveorupdate用法
MybatisPlus中的saveOrUpdate方法可以实现根据条件进行更新或新增操作。具体用法如下:
1.先判断是否存在符合条件的记录,如果存在则更新,否则新增。
```java
User user = new User();
user.setId(1L);
user.setName("Tom");
user.setAge(20);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("id", 1L);
boolean result = userService.saveOrUpdate(user, wrapper);
```
2.如果更新不成功,则走无条件构造器的方法进行新增操作。
```java
User user = new User();
user.setName("Tom");
user.setAge(20);
boolean result = userService.saveOrUpdate(user);
```
阅读全文