Mybatis set標籤

set - 更新語句

當 update 語句中沒有使用 if 標籤時,如果有一個參數爲 null,都會導致錯誤。

當在 update 語句中使用if標籤時,如果前面的if沒有執行,則或導致逗號多餘錯誤。使用set標籤可以將動態的配置 SET 關鍵字,並剔除追加到條件末尾的任何不相關的逗號。使用 if+set 標籤修改後,如果某項爲 null 則不進行更新,而是保持數據庫原值。如下示例:

UPDATE user username = #{username}, sex = #{sex}, birthday = #{birthday}, WHERE user\_id = #{userid};

再看看下面的一個示例:

update t\_blog title = #{title}, content = #{content}, owner = #{owner} where id = #{id}

set 標籤元素主要是用在更新操作的時候,它的主要功能和 where 標籤元素其實是差不多的,主要是在包含的語句前輸出一個 set,然後如果包含的語句是以逗號結束的話將會把該逗號忽略,如果 set 包含的內容爲空的話則會出錯。有了 set 元素就可以動態的更新那些修改了的字段。