關於mybatis中insert和insertSelective的區別


這是在自己做開發的時候發現的,首先不僅僅是insert,update也存在updateSelective這個方法,那么他們的區別是什么呢?

首先,來說說insert,使用insert插入數據時,mybatis會把所有字段都插入一遍,即使有的字段是沒有值的。而使用insertSelective插入數據時,只會給傳過來的字段判空並賦值,其實看上去沒什么區別,但是,如果有些字段有默認值的話,當你使用insert插入數據時,這個有默認值的字段不傳過來,就無法被賦上默認值,而是賦值為null,此時就要用到insertSelective去插入數據,這樣就可以將這個字段賦上默認值了!


接下來說下update的兩個方法,其實和insert是大同小異的,用update去更新數據時,會把每個字段都去更新,而使用updateSelective去更新的話,只會更新傳過來的字段進行更新,相較而言,updateSelective要比update好用許多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM