首页 > 其他分享 >Mybatis中update语句的写法详解

Mybatis中update语句的写法详解

时间:2024-04-12 10:24:38浏览次数:25  
标签:语句 set 标签 update 详解 Mybatis id

mybatis中有很多时候是需要写到update语句的,update语句可以直接写成固定字段 也可以拼接成动态的sql

mybatis的xml更新语句中   update标签

可以直接写如下的update语句(方式一)

<update id="updateNoticeTest">
        update outbound_notice_test
        set notice_state = #{s.noticeState}, update_by = #{s.updateBy}, update_name = #{s.updateName}, update_time = #{s.updateTime}
        where id = #{s.id}
    </update>

其实就是形如:

update table set name=#{},age =#{}  where  id = #{}

也可以写成动态的更新sql(方式二)

<update id="updateAuthorIfNecessary">
  update Author
    <set>
      <if test="username != null">username=#{username},</if>
      <if test="password != null">password=#{password},</if>
      <if test="email != null">email=#{email},</if>
      <if test="bio != null">bio=#{bio},</if>
    </set>
  where id=#{id}
</update>

<set>标签的作用:可以自动为update语句,加上set 关键字,然后对需要更新的字段,可以根据传值与否,来动态的拼接更新的字段。

同时:

在 Mybatis 中,update 语句可以使用 set 标签动态更新列。set 标签可以为 SQL 语句动态的添加 set 关键字,剔除追加到条件末尾多余的逗号。
作用:
自动在要修改的第一个字段之前添加SET关键字
去掉要修改的第一个字段前的连接符(,)

 

标签:语句,set,标签,update,详解,Mybatis,id
From: https://www.cnblogs.com/isme-zjh/p/18130616

相关文章

  • 美团二面:为什么不推荐使用 MyBatis 二级缓存?大部分人都答不上来!
    为了增加查询的性能,MyBatis提供了二级缓存架构,分为一级缓存和二级缓存。这两级缓存最大的区别就是:一级缓存是会话级别的,只要出了这个SqlSession,缓存就没用了。而二级缓存可以跨会话,多个会话可以使用相同的缓存!一级缓存使用简单,默认就开启。二级缓存需要手动开启,相对复杂,而且要......
  • 25.再次整理mybatis坑
    前面就没有整理好mybatis也是因为跳过这个直接去学的springboot也导致没有更深层次理解也是逢坑踩坑一下我maven版本为2.2.5.RELEASE1导入mybatis和mysql驱动依赖如果mybatis加载不出来降低版本参考:https://blog.csdn.net/S852509769/article/details/134456125<!-......
  • Java创建数组、赋值的四种方式,声明+创建+初始化 详解
    Java创建数组、赋值的四种方式,声明+创建+初始化详解@目录一、创建数组的四种方式二、详解三、数组存储的弊端一、创建数组的四种方式以int数据类型为例@TestpublicvoidtestNewArray(){//创建数组//法一int[]arr1=newint[]{1,2,3,4,5};System.ou......
  • 超详细!详解一道高频算法题:数组中的第 K 个最大元素
    超详细!详解一道高频算法题:数组中的第K个最大元素今天分享的题目来源于LeetCode第215号问题,是面试中的高频考题。题目描述在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。......
  • SSM整合(Spring、SpringMVC、Mybatis)
    第一步:新建一个Webx项目第二步:导入相关依赖包第三步:配置Spring核心配置文件第四步:配置SpringMVC核心配置文件第五步:配置web.xml文件......
  • CH582/CH592_EVT中RF_Device(从机)例程详解
    依旧以CH582例程做讲解,CH592与CH582接口部分一致,其他地方大同小异。RF_Device例程路径: 1、main函数初始化配置 2、RF参数初始化 3、上电后启动绑定回连任务  4、RF_DMA初始化  5、RF绑定回调任务  6、数据发送接口 7、定时器测试发送数据到对......
  • BERT详解
    一、从RNN开始NLP里最常用、最传统的深度学习模型就是循环神经网络RNN(RecurrentNeuralNetwork)。这个模型的命名已经说明了数据处理方法,是按顺序按步骤读取的。与人类理解文字的道理差不多,看书都是一个字一个字,一句话一句话去理解的。RNN有多种结构,如下所示:1.one-to-on......
  • idea工具中maven的Lifecycle中各个功能作用详解
    IDEA工具中Maven下的各个功能到底有什么作用,平时会使用,但是真正的含义,得探索一下。毕竟不能总是停留在会用的层面~  接下来,让我们一探究竟! mvnclean作用:翻译:打扫清理,最直接的就是作用于橙色的target目录。在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的......
  • Redis的Lua脚本使用方法详解
    Redis的Lua脚本功能允许用户执行一段自定义的Lua代码,该代码可以访问和操作Redis的数据。这个功能对于执行复杂的操作或事务性的操作特别有用,因为它可以保证操作的原子性。下面是Redis的Lua脚本使用方法的详细解释:1.EVAL命令Redis提供了EVAL命令来执行Lua脚本。这个命令的基本......
  • CyclicBarrier 使用案例详解
    CyclicBarrier概念:CyclicBarrier字面意思是环栅栏,是JUC下的一个并发工具,跟CountDownLatch很相似,都可以使线程先等待然后再执行,但是它的功能比CountDownLatch更加复杂和强大,CountDownLatch是一个或者多个线程等待另外一批线程执行完毕后,在接着执行,而CyclicBarrie......