对于insert:
//插入一条数据
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insert(T record);
对于InsertSelective
//插入一条数据,只插入不为null的字段,不会影响有默认值的字段
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insertSelective(T record);
这两个update都是使用generator生成的mapper.xml文件中,对dao层的更新操作
updateByPrimaryKey对你注入的字段全部更新(不判断是否为Null)
updateByPrimaryKeySelective会对字段进行判断再更新(如果为Null就忽略更新)
区别了这两点就很容易根据业务来选择服务层的调用了!
详细可以查看generator生成的源代码!
insert和insertSelective和上面类似,加入是insert就把所有值插入,但是要注意加入数据库字段有default,default是不会起作用的
insertSelective不会忽略default