zoukankan      html  css  js  c++  java
  • 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源代码!

  • 相关阅读:
    Apollo与ROS
    QT windeployqt
    自定义QGraphicsItem
    ROS与C++
    aptitude与apt-get
    解决tcp粘包问题
    网络中两台主机通信
    I/O多路复用之select、poll、epoll
    Nginx命令行控制
    C++11
  • 原文地址:https://www.cnblogs.com/harper2/p/14165677.html
Copyright © 2011-2022 走看看