You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用向MySQL插入数据时业务字段全为null如何解决

问题原因

Spring MVC对@RequestBody参数做JSON反序列化时,默认通过请求JSON的key和实体类属性名做匹配映射。你当前Postman请求体的key为name、address、code,但Department实体类的对应属性名为deparmentName、deparmentAddress、departmentCode,双方字段名完全不匹配,导致反序列化后这三个属性值全部为null,最终插入数据库的字段自然为空。

解决方案

可任选以下一种方案解决:

方案1:调整请求体字段名(推荐)

将Postman请求体的key修改为和实体类属性名完全一致:

{
    "deparmentName":"AS",
    "deparmentAddress":"123 Street",
    "departmentCode":"AS-006"
}

注意:实体类中deparmentName、deparmentAddress存在拼写错误(正确拼写为department,缺少字母t),建议先修正属性名和对应的getter/setter方法,再同步修改请求体字段,避免后续维护出现更多问题。

方案2:显式指定JSON映射字段

如果需要保留现有请求体的字段结构,可在实体类对应属性上添加@JsonProperty注解,显式指定JSON映射的key,无需修改现有请求:
首先导入Jackson注解(Spring Boot默认web场景已内置相关依赖,无需额外引入包):

import com.fasterxml.jackson.annotation.JsonProperty;

修改Department.java对应属性代码:

@Column(name="name")
@JsonProperty("name")
private String deparmentName;
@Column(name = "address")
@JsonProperty("address")
private String deparmentAddress;
@Column(name = "code")
@JsonProperty("code")
private String departmentCode;

内容的提问来源于stack exchange,提问作者i'mgnome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:06:08