mybatis中insert方法跟insertSelective的应用场景

这2个方法的区别我知道,第二个不为null才才入,第一个是null就插入null,
如果数据库设置了默认值,得用insertSelective,那么这2个应用场景有啥不用呢,
我都是用insertSelective

对于insert:
//插入一条数据
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insert(T record);

对于InsertSelective
//插入一条数据,只插入不为null的字段,不会影响有默认值的字段
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insertSelective(T record);

工作这么长时间,基本都用insertSelective。如果用到insert就算是用错了。不过insert还是有用的,比如插入的时候顺便置空、或修改了原有的数据等。

这是我前几天了解的,很详细,可以看下:https://blog.csdn.net/TofuCai/article/details/82285001

看下这篇文章:https://mp.csdn.net/postedit/82260057