MyBatis之set標簽使用及說明
MyBatis之set標簽使用
在 Mybatis 中,update 語句可以使用 set 標簽動態(tài)更新列。set 標簽可以為 SQL 語句動態(tài)的添加 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 元素就可以動態(tài)的更新那些修改了的字段。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- MyBatis 擴展BaseTypeHandler 轉換泛型 JSON 列表的解決方法
- MyBatis中ResultSetHandler的具體使用
- 解決MybatisPlus批量插入數據報錯:Error getting generated key or setting result to parameter object問題
- MybatisPlus出現Error attempting to get column ‘xxx字段‘ from result set異常解決
- mybatis之BaseTypeHandler用法解讀
- MyBatis?handleResultSet結果集解析過程示例
- 詳解MyBatis?ResultSetHandler?結果集的解析過程
相關文章
Spring mvc是如何實現與數據庫的前后端的連接操作的?
今天給大家?guī)淼氖顷P于Spring mvc的相關知識,文章圍繞著Spring mvc是如何實現與數據庫的前后端的連接操作的展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java調用Python腳本實現HelloWorld的示例詳解
作為程序員,我們經常會遇到需要在Java項目中調用Python腳本的場景,下面我們來看看如何從基礎到進階,一步步實現Java與Python的"HelloWorld"交互吧2025-08-08
Spring注解驅動之BeanPostProcessor后置處理器講解
這篇文章主要介紹了Spring注解驅動之BeanPostProcessor后置處理器講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
使用SpringBoot+InfluxDB實現高效數據存儲與查詢
InfluxDB 是一個開源的時間序列數據庫,特別適合處理帶有時間戳的監(jiān)控數據、指標數據等,下面詳細介紹如何在 Spring Boot 項目中集成 InfluxDB 實現高效數據存儲與查詢功能,需要的朋友可以參考下2025-08-08
從入門到精通詳解SpringBoot整合MyBatis的全攻略
在 Java 持久層框架的版圖中,MyBatis 無疑占據著舉足輕重的地位,本文詳細解析了MyBatis核心架構,SpringBoot整合方式,動態(tài)SQL與緩存機制并分頁的方案,希望對大家有一定的幫助2026-05-05

