文章目錄
項目地址:https://github.com/wz2cool/mybatis-dynamic-query
文檔地址:https://wz2cool.gitbooks.io/mybatis-dynamic-query-zh-cn/content/
簡介
更新和插入的問題其實是一樣的,基本上我們可以解決方案也是類似的,唯一的不同就是,一般更新的時候我們都是帶篩選條件的。常用我們都是通過ID篩選去找記錄,但是現在有了前面的知識,這個篩選條件真的是so easy!!!
關於粒度的控制,同樣可以使用@Column 中的 updateIfNull 標記來達到 updateSelective效果。
廢話不多說上代碼
准備工作
這里我們沿用簡單篩選里面的准備工作即可。
開始更新
update
和insert 一樣,默認是null的時候我們不更新。
1 |
@Test |
在XML寫好與之對應的update
1 |
<update id="update" parameterType="java.util.Map"> |
輸出結果我們可以看到,我們只更新了產品名稱,並且是通過id 找到對應的記錄。
1 |
==> Preparing: UPDATE product SET `product_name`=? WHERE (product_id = ?) |
update Null
更新的時候默認是null的時候不更新,那么我們可以強制更新null的列。我們創建一個Product3實體類,唯一和Product不同就是在price列上加上了強制更新。
1 |
|
更新操作不變
1 |
@Test |
輸出結果發現price被更新成為了null
1 |
==> Preparing: UPDATE product SET `price`=?, `product_name`=? WHERE (product_id = ?) |
結束
更新和插入基本操作是一樣的,唯一就是多了后面支持動態查詢。
關注@我
最后大家可以關注我和 Mybatis-Dynamic-query項目 ^_^
Follow @wz2cool Star Fork