文章目录

  • 1. 实战更新

1. 实战更新

package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.gblfy.springboot.mybatisplus.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@Slf4j
public class UserUpdateTest {@Autowiredprivate UserMapper userMapper;@Testpublic void updateById() {User user = new User();user.setId(1238735228017610754l);user.setEmail("gblfy@163.com");user.setAge(22);int rows = userMapper.updateById(user);System.out.println("影响记录数:" + rows);}//PDATE user SET age=?, email=? WHERE id=?/*** 根据 whereEntity 条件,更新记录** @param entity        实体对象 (set 条件值,可以为 null)* @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)*/@Testpublic void updateByWrapper() {UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();updateWrapper.eq("name", "Tom").eq("age", 28);User user = new User();user.setEmail("gblfy2@sino.com");user.setAge(22);int rows = userMapper.update(user, updateWrapper);System.out.println("影响记录数:" + rows);}//UPDATE user SET age=?, email=? WHERE name = ? AND age = ?/*** 更新方式1* 当表中字段很多,只更新少量字段的值(建议使用)*/@Testpublic void updateByWrapper2() {UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();updateWrapper.eq("name", "Tom").eq("age", 28).set("age", 30);int rows = userMapper.update(null, updateWrapper);System.out.println("影响记录数:" + rows);//UPDATE user SET age=?, email=? WHERE name = ? AND age = ?}/*** WrapperLambda 更新方式2*/@Testpublic void updateByWrapperLambda() {LambdaUpdateWrapper<User> lambdaUpdateWrapper = Wrappers.<User>lambdaUpdate();lambdaUpdateWrapper.eq(User::getName, "Tom").eq(User::getAge, 28).set(User::getAge, 30);int rows = userMapper.update(null, lambdaUpdateWrapper);System.out.println("影响记录数:" + rows);}/*** WrapperLambdaChain 更新方式3*/@Testpublic void updateByWrapperLambdaChain() {boolean sign = new LambdaUpdateChainWrapper<User>(userMapper).eq(User::getName, "Tom").eq(User::getAge, 22).set(User::getAge, 30).update();System.out.println(sign);}//UPDATE user SET age=? WHERE name = ? AND age = ?
}

MyBatisPlus_更新篇_入门试炼_03相关推荐

  1. TortoiseGit 克隆_入门试炼_03

    文章目录 一. Git克隆 1.1. 右击选择Git克隆 1.2. 输入URL 1.3. 提示输入密码 一. Git克隆 1.1. 右击选择Git克隆 在本地文件夹的空白位置处,右击鼠标,在菜单中选择 ...

  2. MyBatisPlus_删除篇_入门试炼_04

    文章目录 1. 实战删除 1. 实战删除 package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus ...

  3. MyBatisPlus_查询篇_入门试炼_01

    文章目录 1.数据库 Schema 脚本如下: 2.数据库 Data 脚本: 3. 实战 现有一张 User 表,其表结构如下: id name age email 1 Jone 18 test1@g ...

  4. TortoiseGit 单文件版本对比_入门试炼_09

    文章目录 一.单文件版本数据模拟 二.单文件版本对比 2.1. 查询单文件提交记录 2.2. 单文件版本之间差异对比 案例场景: 依次提交5次,推送远程,同一个文件5个版本之间的相互对比 一.单文件版 ...

  5. 用Jenkins自动化搭建测试环境_jenkins基础搭建_入门试炼02

    Jenkins基础: 本篇介绍Jenkins的安装.Jenkins中的常用插件的安装方法.Jenkins用户配置以及提醒邮件的配置. 接上一篇:使用Jenkins搭建自动化测试环境_环境准备_入门试炼 ...

  6. MyBatisPlus_通用service篇_入门试炼_05

    文章目录 1. service和impl 2. 实战 1. service和impl package com.gblfy.springboot.mybatisplus.service;import c ...

  7. MyBatisPlus_查询分页篇_入门试炼_02

    文章目录 1. mapper接口 2. 映射文件 3. 实战分页 1. mapper接口 package com.gblfy.springboot.mybatisplus.mapper;import ...

  8. Centos7 Docker 目录挂载_入门试炼06

    文章目录 一.目录挂载格式 二.需求实战 2.1. 目录挂载 2.2. 测试目录挂载_同步文件 2.3. 测试目录挂载_同步文件夹 一.目录挂载格式 我们可以在创建容器的时候,将宿主机的目录与容器内的 ...

  9. Jenkins_GithubFork程序_入门试炼04

    部署应用介绍与前期准备: 本章讲解Fork github上的应用.部署应用下载.简略分析部署应用. 数据库准备.本地运行部署应用.将更新后的代码上传到github. 一.Github的介绍 GitHu ...

最新文章

  1. java 生成pdf itext_使用Java组件itext 生成pdf介绍
  2. nginx-ingress 配置https,同支持http
  3. beautifulsoup4
  4. Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
  5. PIL模块与随机生成中文验证码
  6. 优秀!师兄妹齐发Science,师妹22岁担任一作!同为曹原中科大校友
  7. es6 Symbol概述
  8. 转https_这个PDF转图片技巧,不用1分钟就能快速上手
  9. 大数据之-Hadoop3.x_MapReduce_WordCount案例环境准备---大数据之hadoop3.x工作笔记0088
  10. leetcode python3 简单题35. Search Insert Position
  11. 7-1 特殊a串数列求和 (20 分)
  12. 计算机网络实用技术教程txt,计算机网络实用技术教程
  13. 相干性(Coherence)和相关性(Correlation)的区别和联系
  14. 海外引流怎么做?巨象指纹浏览器助你,人人都是产品经理
  15. 佐客牛排机器人餐厅_“机器人餐厅”来了
  16. 五、APP分类和手机选择
  17. PPT插件(VSTO)开发入门
  18. vi /etc/sysconfig/network
  19. jsp+ssm计算机毕业设计游戏网站设计【附源码】
  20. SpringBoot+Druid+pageHelper+vue+axios+bootstrap

热门文章

  1. From AlphaGo Zero to 2048论文分享
  2. try代码块中出现异常后try内程序会继续执行还是直接抛出异常?
  3. 在C++中用虚函数的作用是什么?为什么要用到虚函数
  4. sdut 数字三角形问题
  5. 阿里大数据云原生化实践,EMR Spark on ACK 产品介绍
  6. 菜鸟+Hologres=智能物流
  7. 简单五步,实现物联网批量创建设备
  8. 从濒临解散到浴火重生,OceanBase 这十年经历了什么?
  9. 【HBase从入门到精通系列】误删数据如何抢救?
  10. 三重框架构建和威胁情报及时可达,山石网科发布StoneOS 5.5R9