关于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