MyBatis Plus的insert、update和delete操作有何不同?

Mybatis Plus实现插入(insert)、更新(update)和删除(delete)的主要区别在于:

1. insert 操作

使用 insert()方法插入新的记录:

userMapper.insert(user);

插入成功后,会将自动生成的主键设置到实体类中。

2. update 操作

使用 updateById()方法进行更新:

userMapper.updateById(user);
  • 通过 @TableId注解指定主键字段
  • 在SQL中where条件根据主键进行更新
  • 对应 @Version字段,可以实现乐观锁效果

3. delete 操作

使用 deleteById()方法删除记录:

userMapper.deleteById(1);
  • 通过主键 ID 删除指定记录
  • 对应 @TableLogic注解,可以实现逻辑删除

总的来说,三种CRUD操作的区别在于:

insert():

  • 插入新记录
  • 获取主键值

updateById() :

  • 根据主键更新记录
  • 检查 @Version 字段,实现乐观锁

deleteById() :

  • 根据主键删除记录
  • 对应 @TableLogic实现逻辑删除

Mybatis Plus通过对应的注解和方法,实现了简洁的CRUD操作。