Mybatis set标签
2024-10-19 06:19:04
set - 更新语句
当 update 语句中没有使用 if 标签时,如果有一个参数为 null,都会导致错误。
当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的配置 SET 关键字,并剔除追加到条件末尾的任何不相关的逗号。使用 if+set 标签修改后,如果某项为 null 则不进行更新,而是保持数据库原值。如下示例:
<!-- if/set(判断参数) - 将实体 User类不为空的属性更新 -->
<update id="updateUser_if_set" parameterType="com.pojo.User">
UPDATE user
<set>
<if test="username!= null and username != '' ">
username = #{username},
</if>
<if test="sex!= null and sex!= '' ">
sex = #{sex},
</if>
<if test="birthday != null ">
birthday = #{birthday},
</if>
</set>
WHERE user_id = #{userid};
</update>
再看看下面的一个示例:
<update id="dynamicSetTest" parameterType="Blog">
update t_blog
<set>
<if test="title != null">
title = #{title},
</if>
<if test="content != null">
content = #{content},
</if>
<if test="owner != null">
owner = #{owner}
</if>
</set>
where id = #{id}
</update>
set 标签元素主要是用在更新操作的时候,它的主要功能和 where 标签元素其实是差不多的,主要是在包含的语句前输出一个 set,然后如果包含的语句是以逗号结束的话将会把该逗号忽略,如果 set 包含的内容为空的话则会出错。有了 set 元素就可以动态的更新那些修改了的字段。
最新文章
- MapReduce剖析笔记之三:Job的Map/Reduce Task初始化
- 在html 中嵌入优酷视频
- C# 类型基础
- android-exploitme(三):安全连接
- 266. Palindrome Permutation
- List转换成Json、对象集合转换Json等
- apache加载php模块失败
- Android Activity之间通信
- CodeForces 667C Reberland Linguistics
- 【MySQL】通过Binary Log简单实现数据回滚(一)
- Android中显示gif动态图片
- python爬虫之selenium、phantomJs
- Asp.Net路由重写为用户名或者ID
- Linux下的搜索查找命令的详解(which)
- [转]详解C#组件开发的来龙去脉
- 菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目
- 看完了红米5 Plus发布会,我觉得魅蓝Note6降价降多了
- eclipse的Maven项目pom.xml错误信息提示missingxxxjar解决方案
- 20155321 《Java程序设计》实验三 敏捷开发与XP实践
- bzoj1798 维护序列