• Mysql数据表字段设置了默认值,插入数据后默认字段的值却为null,不是默认值


    我将mysql的数据表的某个字段设置了默认值为1,当向该表插入数据的时候该字段的值不是默认值,而是null。

    我的错误原因:

    对数据库的操作我使用了持久化工具mybatis,插入数据的时候插入的是整个实体,直接使用的是持久层的insert(实体对象)方法插入的数据

    这样就会出现一个问题,当实体对象中某个属性值为空时,对应的数据库的字段就会插入null值,而默认值是插入时不指定该字段,该字段的值才会取默认值。

    所以这里我是向设置了默认值的字段插入了null,才导致出现上述错误。

    我的解决方法:

    这时候我改用insertSelective(实体对象)方法插入实体对象就不会出现上述问题了

    因为该方法会自动过滤掉实体对象中值为空的属性,对应的数据表字段也不会被插入null了。

    以上是我个人遇见的问题和解决方法,希望对您有所帮助!

  • 相关阅读:
    哈希表,开放地址法之线性探测代码(JAVA)
    Java中几个关键字的意思
    java学习——File类操作
    Map三种遍历方法
    Spring Data Binding
    哈希表的基础理解
    选择排序
    map集合使用
    排序
    关于LinkedList
  • 原文地址:https://www.cnblogs.com/caizhen/p/9170446.html
Copyright © 2020-2023  润新知