public void updatePacketStatus() { // 假设我们要更新ID为211的记录,将其状态设置为-1 Packet packet = new Packet(); packet.setId(211L); packet.setStatus(-1); // 调用updateById方法进行更新 int updateResult = packetService.updateById(packet); // 检查更新结果 if (updateResult > 0) { ...
1.保存entity this.save(entity) 返回带生成的id 2.保存list this.saveOrUpdateBatch(list) 返回带生成的id return list;(返回的list中带上了保存的id)
如设置了主键 ID,因为主键 ID 必须是唯一的,Mybatis Plus 会先执行查询操作,判断数据是否存在,存在即执行更新,否则,执行插入操作: User user =newUser();// 设置了主键字段user.setId(21L); user.setName("小小哈"); user.setAge(60); user.setGender(1); userService.saveOrUpdate(user); 具体执行 SQ...
importcom.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;@ServicepublicclassUserService{@AutowiredprivateUserMapperuserMapper;publicintupdateUser(Longid,Stringname,Integerage){// 创建更新包装器Update...
执行完插入后的User:User(id=890909294458048512, username=123456, password=123456, deleted=0, createTime=2021-09-24T10:35:36.873908700, updateTime=2021-09-24T10:35:36.873908700) 还可以使用注解方式,不过注解的那种就是将上文Mybatis中的第二种方法搬到注解上去了。
根据主键ID作为条件来完成更新,并且更新实体类中有值的属性,null值的属性不参与更新 @Testpublic void testUpdate(){ //创建一个学生 Student stu = new Student(); stu.setSname("张无忌"); stu.setSage(24); stu.setSid(5); int update = studentMapper.updateById(stu); System.ou...
一张boy表,自增主键id,name(varchar)唯一索引,created_time和modified_time记录创建和修改时间。 CREATE TABLE `boy` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `created_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建...
void saveOrUpdate(){ UserText userText = new UserText(); userText.setUserSex(Sex.MAN); boolean b = userTextService.saveOrUpdate(userText); System.out.println(userText.getUserId()); } 可以看到他先通过id查了没有再进行插入,然后返回新的id。
当前使用版本(必填,否则不予处理) 3.1.0 该问题是如何引起的?(确定最新版也有问题再提!!!) 在插入操作时候,想批量获取插入成功后的主键id, 重现步骤(如果有就写完整) 报错信息