MyBatis-Plus 的 saveOrUpdate 方法解析 1. 什么是 MyBatis-Plus 的 saveOrUpdate 方法? MyBatis-Plus 的 saveOrUpdate 方法是一个便捷的方法,用于根据实体对象的主键 ID 来判断是插入新记录还是更新现有记录。如果实体对象的主键 ID 已经存在于数据库中,则执行更新操作;如果不存在,则执行插入操作。 2. saveOr...
重写mybatis-plus的saveUpdate方法 1.问题出现 同步外部数据的时候,如果需要同步逻辑删除的数据,mybatis-plus的saveOrUpdate||saveOrUpdateBath方法底层根据先查出数据数据是否存在,存在则更新不存在则新增,数据逻辑删除时,mybatis-plus查询不出来会执行插入造成主键冲突异常 2.问题解决(重写方法) Mapper.java publicinter...
userMapper.saveOrUpdateBatch(userList); 三、saveOrUpdateBatch的实现原理 saveOrUpdateBatch实际上是Mybatis的批量插入(batch)和批量更新的结合体。当我们执行saveOrUpdateBatch时,Mybatis会执行一个insert语句,将数据批量插入到数据库中。如果插入时有冲突(如主键重复),则会执行一个update语句,对已存在的数据进行更新。
根据多个字段联合主键增删改查 原生mybatisplus只支持一个主键,mpp支持多个字段联合主键(复合主键)增删改查,mapper需要继承MppBaseMapper 实体类中联合主键的字段需要用@MppMultiId注解修饰 如果需要在service使用多主键相关操作包括saveOrUpdateByMultiId和批量操作updateBatchByMultiId和saveOrUpdateBatchByMultiId,可以直接...
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。 3.批量插入或者更新(两种方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 ...
mybatisplus-plus对mybatisplus的一些功能补充 根据多个字段联合主键增删改查原生mybatisplus只支持一个主键,mpp支持多个字段联合主键(复合主键)增删改查,mapper需要继承MppBaseMapper 实体类中联合主键的字段需要用@MppMultiId注解修饰 如果需要在service使用多主键相关操作包括saveOrUpdateByMultiId和批量操作updateBatchByMu...
MyBatis-Plus:3.5.1 2.建库建表 打开Navicat运行以下SQL脚本进行建库建表 CREATEDATABASE `mybatis_plus`/*!40100 DEFAULT CHARACTER SET utf8mb4 */; use `mybatis_plus`;CREATETABLE`user` ( `id`bigint(20)NOTNULLCOMMENT'主键ID', `name`varchar(30)DEFAULTNULLCOMMENT'姓名', ...
mybatisplus-plus对mybatisplus的一些功能补充 根据多个字段联合主键增删改查 原生mybatisplus只支持一个主键,mpp支持多个字段联合主键(复合主键)增删改查,mapper需要继承MppBaseMapper 实体类中联合主键的字段需要用@MppMultiId注解修饰 如果需要在service使用多主键相关操作包括saveOrUpdateByMultiId和批量操作updateBatchBy...
MybatisPlus特性 MP快速入门 第一步:数据库准备 第二步:导入依赖 第三步:编写实体类 第四步:编写mapper接口 第五步:测试 MP实现增删查改功能 插入功能 主键属性使用的注解@TableId 主键生成策略 普通列注解-@TableField 1.成员变量名和数据库字段名名字不一样,且不符合驼峰映射时 ...
mybatisplus-plus使用@InsertFill注解触发插入时,执行注解中自定义的sql填充实体类字段 mybatisplus-plus使用@UpdateFill注解触发更新时,执行注解中自定义的sql填充实体类字段 还可以自动填充主键字段,解决原生mybatisplus不支持多个主键的问题 使用ColNameUtil.pn静态方法,获取实体类中读取方法对应的列名称 ...