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

Eclipse中Spring Boot向MySQL插数据返回200但数据库无数据

Spring Boot接口返回200但MySQL数据库无新增数据

我在Eclipse中使用Java Spring Boot向本地MySQL数据库添加数据,接口返回200状态码,但数据库里看不到新增的数据行。

Controller端点代码

@PostMapping("/addFood")
public ResponseEntity<String> addFood(@RequestBody FoodDto foodDto){
    try {
        FoodDto savedFoodObject = dietService.addFood(foodDto);
        if(savedFoodObject != null && savedFoodObject.getName() != null) {
            return ResponseEntity.ok("Update successful");
        }
        else {
            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Update failed for unknown reasons.");
        }
    }catch(Exception e) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
    }
}

Service方法代码

public FoodDto addFood(FoodDto foodDto) {
    Food foodModel = FoodMapper.INSTANCE.toFood(foodDto);
    Food food = foodRepository.save(foodModel);
    return FoodMapper.INSTANCE.toFoodDto(food);
}

foodRepository是继承JPARepository的接口实例,模型类为Food,DTO类为FoodDto。调试时能看到service中的food对象不为空,且包含PostMan请求传入的所有预期值,映射器工作正常,接口返回"Update successful"。

我检查了application.properties和compose.yaml配置,确认无误,且项目已通过标注@Entity的Food模型类成功创建food表。

compose.yaml配置

services:
  mysql:
    image: 'mysql:latest'
    environment:
      - 'MYSQL_DATABASE=dietplan_database'
      - 'MYSQL_ROOT_PASSWORD=PASSWORD' (本地环境已硬编码实际密码,此处替换为"PASSWORD")
    ports:
      - '3307:3306'

application.properties配置

spring.jpa.hibernate.ddl-auto=update
spring.application.name=dietPlanFullStackApplication
spring.datasource.url=jdbc:mysql://localhost:3306/dietplan_database
spring.datasource.username=root
spring.datasource.password=PASSWORD (密码同上处理)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true

Food模型类代码

package com.dietPlan.models;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Food {
    
    @Id
    @GeneratedValue
    private Long id;
    
    private String name;
    private Integer calories;
    private Integer protein;
    private Integer carbs;
    private Integer sugar;
    private Integer fat;
    
    @Column(name = "saturated_fat")
    private Integer saturatedFat;
    
    private Integer sodium;
    private Integer potassium;
    private Boolean has_multiplier;
    
    public Long getId() {
        return id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public Integer getCalories() {
        return calories;
    }

    public void setCalories(Integer calories) {
        this.calories = calories;
    }

    public Integer getProtein() {
        return protein;
    }

    public void setProtein(Integer protein) {
        this.protein = protein;
    }

    public Integer getCarbs() {
        return carbs;
    }

    public void setCarbs(Integer carbs) {
        this.carbs = carbs;
    }

    public Integer getSugar() {
        return sugar;
    }

    public void setSugar(Integer sugar) {
        this.sugar = sugar;
    }

    public Integer getFat() {
        return fat;
    }

    public void setFat(Integer fat) {
        this.fat = fat;
    }

    public Integer getSaturatedFat() {
        return saturatedFat;
    }

    public void setSaturatedFat(Integer saturatedFat) {
        this.saturatedFat = saturatedFat;
    }

    public Integer getSodium() {
        return sodium;
    }

    public void setSodium(Integer sodium) {
        this.sodium = sodium;
    }

    public Integer getPotassium() {
        return potassium;
    }

    public void setPotassium(Integer potassium) {
        this.potassium = potassium;
    }
    
    public Boolean getHasMultiplier() {
        return has_multiplier;
    }
    
    public void setHasMultiplier(Boolean has_multiplier) {
        this.has_multiplier = has_multiplier;
    }
}

预期数据库中会出现与请求体对应的新增数据行,但实际数据库中数据行数为0。

内容的提问来源于stack exchange,提问作者Chris Pichler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:42:35