• mybatis自动生成mapper中的insert与insertseletive,updateByPrimaryKey,updateByPrimaryKeySelective方法的区别


    对于insert:
    //插入一条数据
    //支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
    //优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
    但是要注意假如数据库字段有default,default是不会起作用的
    对于InsertSelective:
    //插入一条数据,只插入不为null的字段,不会影响有默认值的字段
    //支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
    //优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
    insertSelective不会忽略default,即为空的字段default自动填充
    对于updateByPrimaryKey:
    //对你注入的字段全部更新(不判断是否为Null)
    对于updateByPrimaryKeySelective:
    //会对字段进行判断再更新(如果为Null就忽略更新)
    区别了这些就很容易根据业务来选择服务层的调用了!
    详情可以查看generator生成的ObjectNameMapper.xml源代码!

  • 相关阅读:
    .Net Frameworks versions
    noteJavascript::string2Date for new Date(str)
    noteMS questions
    note删除Visual Studio recent Projects list
    noteshow hidden files
    sql trick
    拯救MySql 签名
    数据结构——栈和队列
    the summary of loop structure in C
    the summury of array in C.
  • 原文地址:https://www.cnblogs.com/harper2/p/14165677.html
Copyright © 2020-2023  润新知