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 = ?
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt使用样式表设置窗口widget为圆角

提要 窗口widget是无法直接通过样式表设置为圆角的&#xff0c;需要在窗口QWidget中拖入控件QFrame&#xff0c;将QFrame设置的和窗口QWidget一样大小&#xff0c;将窗口QWidget中需要的控件拖入到QFrame中。 示例 下面是一个提示工具的窗口。通过它简单的记录一下样式表怎么…

微软 Build 2019:IE 重生,Azure 成主角;华为拟在英剑桥新建半导体研发基地,与ARM做邻居……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go阿联酋联邦政府人工智能部长 …

qt获取当前场景中的所有图形项的层次

提要 场景中有多个窗口&#xff0c;窗口处于不断更新中&#xff0c;获取场景中当前所有窗口的图层。由于特定的结构&#xff0c;这里场景中的窗口采用自定义窗口&#xff0c;将该自定义窗口作为自定义代理窗口的窗口&#xff0c;图形项作为自定义代理窗口的父窗口&#xff0c;…

MyBatisPlus_删除篇_入门试炼_04

文章目录1. 实战删除1. 实战删除 package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybati…

完美起点更重要:青立方超融合易捷版 助力企业一步云就绪

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;长跑&#xff0c;一项比短跑更具技术含量的运动&#xff0c;如果起跑过猛&#xff0c;…

MyBatis-Plus_查询进阶01

select语句中不列出全部字段 文章目录1. 形式12. 形式21. 形式1 /*** 1. 名字包含雨并且年齡小于40* sql&#xff1a;name like %雨% and age < 40*/Testpublic void selectByWrapperSupper() {QueryWrapper<User> queryWrapper new QueryWrapper<>(); // …

qt中处理精度丢失

提要 定义的qreal类型的变量在做减法和乘法时所得的值不正确。 示例 做减法运算 //参数定义 qreal m_lastScale;//上一次缩放比 qreal m_scale;//保存缩放比m_scale m_lastScale - 0.05;//变为减0.05后计算的值不对下面的方法可以解决精度丢失导致的计算所得的值不正确的问…

没有一家公司可以逃避边缘计算 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a; Ariane转自&#xff1a;边缘计算社区边缘计算正在为数据中心的世界添…

Qt实现浮动窗口

提要 在窗口上悬浮鼠标&#xff0c;此时窗口标题栏显示&#xff0c;窗口变大&#xff0c;鼠标移开后&#xff0c;窗口恢复原来的大小&#xff0c;标题栏隐藏。 示例 直接上代码&#xff0c;只包含只要的代码部分。 在自定义的窗口中重写鼠标进入事件enterEvent和鼠标离开事件…

gblfy_IDEA常用快捷键技巧

文章目录一、IDEA常用快捷键1. 查找2. 注释3. 断点调试4. 复制/移动5. 提示二、为需要的菜单设置快捷键2.1. 先搜2.2. 后加三、查找快捷键对应的菜单/替换快捷键3.1. 先搜3.2. 再加3.3. 需移除一、IDEA常用快捷键 1. 查找 查找快捷键说明idea中对应菜单位置CTRLR当前文件替换…

qt编写触摸事件的关键

提要 无论你的电脑是支持触摸屏&#xff0c;还是你通过usb外部连接触摸屏&#xff0c;都能验证你的触摸程序功能。下面说说程序中使用触摸按钮等。 示例 按钮可以实现触摸功能&#xff1b;自动义控件可以实现触摸按下拖动&#xff1b;触摸长按出现对话框&#xff08;也可以是…

MyBatis-Plus_查询进阶05

查询专栏&#xff1a;select语句中不列出全部字段 文章目录1. 第一种形式2. 第二种形式1. 第一种形式 通过queryWrapper调用select方法&#xff0c;在select方法中添加需要查询的列 /*** 1. 名字包含雨并且年齡小于40* sql&#xff1a;name like %雨% and age < 40*/Testp…

甲骨文中国裁员已定,补偿为N+6;VMware联手云平台合作伙伴AsiaPac,闪耀狮城;对标英伟达,寒武纪新货曝光……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 乐视改乐融&#xff0c;重新…

qt自定义窗口添加父窗口后,显示不出来

提要 继承于QDialog的类&#xff0c;在被其它类创建的改对象时&#xff0c;没设置父窗口前显示正常&#xff0c;设置了父窗口后显示不出来。 自定义窗口的构造函数 configBtnNameDialog::configBtnNameDialog(QWidget *parent) :QDialog(parent),ui(new Ui::configBtnNameDial…

MyBatis-Plus_Condition作用

查询专栏&#xff1a;MP默认查询原则 查询的是数据库列名非实体类属性 文章目录在测试类中新增一个私有方法 /*** 当点击查询按钮时,查询搜索框中默认为null,也支持传入条件*当传入的条件不为null或者不为空""时,会拼接在where 的后边当做条件* param name* param em…

5G精华问答 | 大数据和5G有什么关系?

戳蓝字“CSDN云计算”关注我们哦&#xff01;即将到来的5G&#xff0c;通过提升连接速率&#xff0c;提升了“人联网”的感知&#xff0c;也促进了人类主动创造数据。另一方面&#xff0c;它更多是为“物联网”服务的。包括低延时、海量终端连接等&#xff0c;都是物联网场景的…

qt中继承pushbutton自定义控件设置按钮样式

提要 继承QPushButton后的按钮&#xff0c;设置其样式。 实现 在自定义的控件类中添加Q_OBJECT宏 在自定义的控件的类中重写paintevent函数 自定义的控件在使用时&#xff0c;必须指明其父对象 使用样式表设置样式&#xff0c;将类名改为自定义的类名 例子 直接上代码 myB…

MyBatis-Plus_实体作为条件构造器构造方法的参数

查询专栏&#xff1a;MP默认查询原则 查询的是数据库列名非实体类属性。 实体作为条件构造器构造方法的参数 文章目录/*** 1.传递的参数如果是实体类* <p>* 注&#xff1a;这种情况传递过来的参数是等值的也就是* 如果不想等值&#xff0c;例如:like 条件* 在实体类中,需…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于概率预测与随机响应面法的新能源孤岛配电网实时风险评估与调控策略》

这个标题涉及到新能源孤岛配电网的实时风险评估与调控策略&#xff0c;其中使用了概率预测和随机响应面法。下面是对标题中各个要素的解读&#xff1a; 新能源孤岛配电网&#xff1a; 新能源&#xff1a; 指的是可再生能源&#xff0c;如太阳能、风能等&#xff0c;与传统的化石…

Open Infrastructure开启开放协作新时代

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;在丹佛举办的Open Infrastructure Summit大会的Keynote演讲中&#xff0c;OpenStack基…