zoukankan      html  css  js  c++  java
  • 主键字段报错doesn't have a default value (mybatis)

    主键字段报错doesn't have a default value (mybatis)

    最近导师交给我一个项目,今天调试新功能的时候发现在执行数据库插入操作的时候,主键报错

    补充说明一下,workorder_number做主键,char类型。

    在控制台查看代码执行到插入语句的时候其对应的sql语句

    发现没有插入workorder_number这个字段,其他的字段全都插入了。到这里可以初步判断应该是在插入的时候主键这个字段没有被选中插入。确定了发现,接下来一步步排查,在检查数据库中表的映射没有出错、表的实体类没有问题、字段和变量名没有写错之后,最后检查mybatis的配置的时候,我发现了问题所在。

    原来是主键已经设置好了数据库ID自增,那么在向表中插入新记录的时候就不需要我们自己填写主键的值,那么也就很理所应当的我们的主键的字段就不会出现在上文中的sql语句里面。所有问题的解决方案就是:在表中新增个“id”字段,做主键,int类型,自增。那么问题就解决了

    原来的workorder_number字段也出现在了sql语句里面,插入成功。

    在此记录下我犯的这个错误,在接手老项目的时候,务必搞清楚其相关的配置方式,避免产生不必要的错误。

  • 相关阅读:
    Composer autoload 自动加载
    权限问题
    加载适配器和布局之间的顺序关系--Unsolved
    listview和button
    线程练习中出现的错误
    线程02
    关于初始化成员变量
    可扩展列表
    Android开发中Handler的经典总结----转载
    线程01
  • 原文地址:https://www.cnblogs.com/zzzqi/p/13285826.html
Copyright © 2011-2022 走看看