MyBatisPlus_更新篇_入门试炼_03
文章目录
- 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相关推荐
- TortoiseGit 克隆_入门试炼_03
文章目录 一. Git克隆 1.1. 右击选择Git克隆 1.2. 输入URL 1.3. 提示输入密码 一. Git克隆 1.1. 右击选择Git克隆 在本地文件夹的空白位置处,右击鼠标,在菜单中选择 ...
- MyBatisPlus_删除篇_入门试炼_04
文章目录 1. 实战删除 1. 实战删除 package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus ...
- MyBatisPlus_查询篇_入门试炼_01
文章目录 1.数据库 Schema 脚本如下: 2.数据库 Data 脚本: 3. 实战 现有一张 User 表,其表结构如下: id name age email 1 Jone 18 test1@g ...
- TortoiseGit 单文件版本对比_入门试炼_09
文章目录 一.单文件版本数据模拟 二.单文件版本对比 2.1. 查询单文件提交记录 2.2. 单文件版本之间差异对比 案例场景: 依次提交5次,推送远程,同一个文件5个版本之间的相互对比 一.单文件版 ...
- 用Jenkins自动化搭建测试环境_jenkins基础搭建_入门试炼02
Jenkins基础: 本篇介绍Jenkins的安装.Jenkins中的常用插件的安装方法.Jenkins用户配置以及提醒邮件的配置. 接上一篇:使用Jenkins搭建自动化测试环境_环境准备_入门试炼 ...
- MyBatisPlus_通用service篇_入门试炼_05
文章目录 1. service和impl 2. 实战 1. service和impl package com.gblfy.springboot.mybatisplus.service;import c ...
- MyBatisPlus_查询分页篇_入门试炼_02
文章目录 1. mapper接口 2. 映射文件 3. 实战分页 1. mapper接口 package com.gblfy.springboot.mybatisplus.mapper;import ...
- Centos7 Docker 目录挂载_入门试炼06
文章目录 一.目录挂载格式 二.需求实战 2.1. 目录挂载 2.2. 测试目录挂载_同步文件 2.3. 测试目录挂载_同步文件夹 一.目录挂载格式 我们可以在创建容器的时候,将宿主机的目录与容器内的 ...
- Jenkins_GithubFork程序_入门试炼04
部署应用介绍与前期准备: 本章讲解Fork github上的应用.部署应用下载.简略分析部署应用. 数据库准备.本地运行部署应用.将更新后的代码上传到github. 一.Github的介绍 GitHu ...
最新文章
- java 生成pdf itext_使用Java组件itext 生成pdf介绍
- nginx-ingress 配置https,同支持http
- beautifulsoup4
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- PIL模块与随机生成中文验证码
- 优秀!师兄妹齐发Science,师妹22岁担任一作!同为曹原中科大校友
- es6 Symbol概述
- 转https_这个PDF转图片技巧,不用1分钟就能快速上手
- 大数据之-Hadoop3.x_MapReduce_WordCount案例环境准备---大数据之hadoop3.x工作笔记0088
- leetcode python3 简单题35. Search Insert Position
- 7-1 特殊a串数列求和 (20 分)
- 计算机网络实用技术教程txt,计算机网络实用技术教程
- 相干性(Coherence)和相关性(Correlation)的区别和联系
- 海外引流怎么做?巨象指纹浏览器助你,人人都是产品经理
- 佐客牛排机器人餐厅_“机器人餐厅”来了
- 五、APP分类和手机选择
- PPT插件(VSTO)开发入门
- vi /etc/sysconfig/network
- jsp+ssm计算机毕业设计游戏网站设计【附源码】
- SpringBoot+Druid+pageHelper+vue+axios+bootstrap