Mybatis java.sql.SQLException: Field 'id' doesn't have a default value

Spring Boot + MyBatis Field ‘xxx‘ doesn‘t have a default value 问题排查与解决 以实战的角度进行分析: 问题 解决方案 前端没有传 eFId console.log(formData.value) 检查数据 后端 @JsonProperty 解析失败 在 CheckSaveReqVO 加 @JsonProperty(“eFId”) 数据库字段映射错误 确保 CheckDO 里 @TableField(“e_f_id”) 正确 阅读详情

Mybatis - plus 注解的使用

  • 自动填充注解 @TableField

    1.value 

   字段值(驼峰命名方式,该值可无)

    2.update 

   预处理 set 字段自定义注入

    3.condition 

   预处理 WHERE 实体条件自定义运算规则

    4.el

   详看注释说明

    5.exist 

   是否为数据库表字段( 默认 true 存在,false 不存在 )

    6.strategy

   字段验证 ( 默认 非 null 判断,查看 com.baomidou.mybatisplus.enums.FieldStrategy )

    7.fill

    字段填充标记 ( FieldFill, 配合自动填充使用 )

    fill值

    DEFAULT:默认不处理

    INSERT:插入填充字段

    UPDATE:更新填充字段

    INSERT_UPDATE:插入和更新填充字段

  实现

  1. 添加注解

  2.实现元对象处理器接口: com.baomidou.mybatisplus.mapper.IMetaObjectHandler。详见官网例子

  这样,我们在插入或者更新数据时,createTime 和 modifyTime 可以自动更新。

 

  • @TableId 主键注解 
    @KeySequence()设置自主Sequence

  

    type 属性:

    AUTO:自增
    NONE:该类型为未设置主键类型
    INPUT:手动录入
    ID_WORKER:默认主键类型,全局唯一ID,Long类型的主键
    UUID:自动生成uuid 插入
    ID_WORKER_STR:字符串全局唯一ID

    注:在mysql中也可以设置自增,若mysql中未设置自增,mybatis中设置 @TableId(value = "id", type = IdType.AUTO) 报:java.sql.SQLException: Field 'id' doesn't have a default value
      若是主键id为UUID,可用此设置生成UUID主键。
【异常】MyBatis-Plus因@TableId错误使用,导致主键未生成,SQL异常提示SQLException: Field ‘id‘ doesn‘t have a default value 使用AUTO,INPUT,ID_WORKER时,数据库字段需要是int,不建议将数据库id字段设计为string类型 阅读详情

相关推荐

VS Code配置MASM32汇编环境:从安装到调试的完整指南

本文提供了一份详尽的指南,教你如何在VS Code中配置MASM32汇编开发环境,实现从安装、环境变量设置到编写、编译和调试32位Windows汇编窗口程序的完整工作流。通过集成现代编辑器的便利性与经典汇编工具链,旨在降低学习门槛,提升底层开发效率。

nn3456的博客 483

Mybatis-plus中Field ‘id‘ doesn‘t have a default value 解决办法

当时我的表情就像这样:找了很久发现解决方法很简单:

yiuiukk的博客 1640

华为HCIP-001:PPPOE配置模拟实验

华为HCIP01:PPPOE配置模拟实验 实验环境 pppoe-client上面的接口信息 [AR1]dis ip interface brief *down: administratively down ^down: standby (l): loopback (s): spoofing The number of interface that is UP in Physical is 2 The number of interface that is DOWN in Physical is 1 Th

兔子乖乖 1798

MyBatis-Plus inser报错 Field ‘x‘ doesn‘t have a default value/Duplicate entry ‘x‘ for key ‘xxx.PRIMAR‘

二、MyBatis-Plus主键策略 MyBatis-Plus GitHub主键策略介绍 MyBatis-Plus 官方文档主键策略介绍 本篇介绍的是基于mybatis-plus 3.3.2的版本 @TableId注解的默认主键策略是 NONE 总共有8种主键策略,分别是: AUTO-自动递增 NONE-不设置 INPUT-自行设置主键 可以看到此时的数据库中该表的id主键采用的数据库自增策略,所以采用myabtis-plus时,主键采用了默认的NONE 可以看到打印出的执行的SQL也没有插入id字

doubiy的博客 5034

2019年电赛D题《简易电路特性测试仪》全过程

2019年全国大学生电子设计大赛D题《简易电路特性测试仪》硬件部分及故障分析

zzhao2580的博客 5万+

STM32+OOK通讯(OOK发送+OOK接收)+cubemx配置

关于OOK通信,我的理解就是将要发送的信息转换成高低电平(即0和1),然后接收方通过对01进行解码获得信息。于是我用了非常朴素的字符串转二进制+AM调制来完成通信链。话不多说我们直接开始!!!

qq_73856732的博客 2339

mybatisplus插入报错Field ‘id‘ doesn‘t have a default value

TableId注解:IdType AUTO(主键自增),NONE(无),INPUT(自行输入),ASSIGN_ID(雪花算法),ASSIGN_UUID(去下划线UUID) 默认为NONE。可以在yml中查看全局配置,如果配置为AUTO,数据库又不是自增的,则会报上面的错;2.添加@TableId改为别的方式。1.数据库改为自增主键。

limy的博客 1841

稳定性仿真(stb闭环增益仿真)

stb仿真主要是测试电路的稳定性,例如运放在闭环电路中的增益和相位裕度的值,从而判别电路是否正常工作。 以下是stb仿真的过程: (1)调用iprobe器件 从analogLib中调iprobe器件,通过器件中的箭头标识确定接入电路的方法,箭头起点端连运放的输出端,箭头的终点端连在反馈环路的作用端。iprobe器件连入电路后相当于理想导线。(iprobe器件连接在反馈回路上) (2)analyses设置 勾选stb和frequency,此处的频率范围设置在0.1~1GHz,Probe Instance/T

qq_36686804的博客 3万+

Mybatis 出现java.sql.SQLException: Field 'id' doesn't have a default value

首先是确认配置文件没有问题 <!-- 新增 useGenerateKeys:是否产生主键id keyColumn:数据库对应的列 keyProperty:domain中的属性 要产生主键 把数据库中id这一列对应的 数据中domain中对应的属性字段 --> <insert id="save" parame...

蔡茂的博客 1万+

Detector-Free SfM 项目复现完整指南:从环境搭建到代码解析与可视化

本文提供了Detector-Free SfM项目的完整复现指南,涵盖技术背景、环境配置、代码解析和可视化方案。重点包括: 技术背景:Detector-Free SfM通过两阶段策略(粗重建+迭代精化)解决了传统SfM在弱纹理区域的瓶颈问题,采用深度学习匹配器替代传统特征点检测。 环境配置: 详细硬件要求与推荐配置(GPU/CPU/内存) 完整的Ubuntu系统设置步骤 Conda环境创建与依赖安装流程 关键组件安装指南(PyTorch、COLMAP等) 常见错误解决方案 项目特点: 支持多种Detector

huanghm88的专栏 121

VS2019编译使用log4cplus 1.2.0

logger.properties 文件。第三步,创建项目来测试,配置库。第二步,使用VS2019编译。

h a 6 6 6 c k 为 你解决复杂难题! 527

MyBatis: 列没有设置自增,insert时会报 java.sql.SQLException: Field 'id' doesn't have a default value

java.sql.SQLException: Field ‘id’ doesn’t have a default value

amadeus_liu2的博客 455

干掉百度Apollo的安装!(Apollo10.0的源码安装)

1、在Apollo10.0的安装手册中,没有再详细给出源码安装的步骤,官方更推荐的是包管理安装,但实际上Apollo10.0仍然是可以进行源码安装的。2、使用源码安装Apollo10.0,比Apollo9.0的源码安装问题要少,整个安装过程更顺畅。3、从Apollo 10.0开始,源码安装和包管理安装采用同一套编译工具,也就是aem。之前只有在进行包管理安装的时候我们才需要安装aem,现在进行源码安装也需要安装aem。

qq_40033030的博客 892

解决:java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

本文分析了数据库插入数据时常见的"Field 'id' doesn't have a default value"异常,指出该异常是由于主键id字段未设置自增属性或默认值且插入时未传入值所致。核心解决方案是为id设置自增属性,并详细介绍了MySQL(AUTO_INCREMENT)和PostgreSQL(IDENTITY)的实现方法。文章还提供了MyBatis中的配套配置,以及分布式场景下的备选方案(手动传ID或设置默认值)。通过合理选择主键生成策略,可有效解决该异常并满足不同业务需求。

慕白Lee的博客 1388

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

mybatis添加数据的时候报错:java.sql.SQLException: Field 'id' doesn't have a default value

雾林小妖的博客 493

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java.sql.SQLException: Field 'id' doesn't have a default value

Mybatis向MySQL插入数据时一直报错 java.sql.SQLException: Field ‘id’ doesn’t have a default value 解决方法: 打开Navicat,将主键id设置为自增即可,勾选后保存

ceceliDENG的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Mybatis-Plus 主键自增报错:java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

需要数据库也设置为主键自增:

测试开发小白变怪兽 1045

Mybatis-plus报错:Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

在添加的时候报了这个错,这个错误的意思就是添加时候id没有默认值。

weixin_63449429的博客 1180

MyBatis主键自增和【java.sql.SQLException: Field ‘id‘ doesn‘t have a default value】

mapper 添加两个属性:useGeneratedKeys="true" keyProperty="id" <insert id="add" parameterType="Project" useGeneratedKeys="true" keyProperty="id"> insert into project (name, description, level, picture, deleted, create_time, update_time, version)

肖潇不写代码 754

Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

插入数据的时候,有些必填的数据没有写,。。 如:主键id不自增,但是数据库插件将id设置为自增字段

qq_36022463的博客 466

Mybatis-plus: Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

Mybatis-plus: Cause: java.sql.SQLException: Field 'id' doesn't have a default value

fuqiang133的博客 999

updating database. Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

updating database. Cause: java.sql.SQLException: Field ‘id’ doesn’t have a default value <insert id="insertSale" > insert into sale(gid, nums) values(#{gid}, #{nums}) </insert> 你的这张表里面的id设置成自增,就可以了 ...

weixin_45992780的博客 305

解决:Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

解决:Cause: java.sql.SQLException: Field 'id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'id' doesn't have a default value一·问题描述:(1)利用MP设置id主键自增,插入数据时报错如下:二·异常原因:(1)数据库中实体对应表的id主键,没有设置自动递增三·解决办法:(1)将数据库中对应表的主键,设置为自动递增(注意要保

weixin_48033662的博客 1万+

解决异常:Cause: java.sql.SQLException: Field 'id' doesn't have a default value

编写简单代码往数据库里用户表添加数据         @Override public Integer saveUserHasKey(User user) { SqlSession session=null; Integer result=0; try { session= factory.openSession(true);// 默认获取的session不会提交事物 设置为true

xcm53820的博客 1万+

java.sql.SQLException: Field 'id' doesn't have a default value异常

在做mybatis插入的时候报了这个错误,百度了下,貌似是因为这个健没有设置值且不是自增类型的。 java.sql.SQLException: Field 'id' doesn't have a default value at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) ~[mysql-connect...

weixin_30599769的博客 2354
上一篇: quartz Cron表达式一分钟教程
下一篇: rabbitmq-------ure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{{case_clause,{erro
八点二十四分
博客等级 码龄10年 29粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值