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

Spring Boot无法自动创建MySQL库表及接口调用报错问题求助

问题解决步骤

1. 实现MySQL自动创建数据库

Spring Boot默认不会自动创建数据库,需修改JDBC URL,添加createDatabaseIfNotExist=true参数:

spring.datasource.url=jdbc:mysql://localhost:3306/db?useSSL=false&createDatabaseIfNotExist=true

启动后端时,若db数据库不存在,MySQL会自动创建该库。

2. 解决手动建库后不生成表的问题

逐一检查以下关键点:

  • 实体类扫描范围:确保Spring Boot启动类(带@SpringBootApplication的类)所在包为com.Manipulus.arctic或更上层。若启动类在更深层级(如com.Manipulus.arctic.main),需添加@EntityScan指定实体类包:
    @SpringBootApplication
    @EntityScan("com.Manipulus.arctic.customer.model")
    public class ArcticApplication {
        public static void main(String[] args) {
            SpringApplication.run(ArcticApplication.class, args);
        }
    }
    
  • 数据库权限:确认root用户拥有db数据库的建表权限,登录MySQL执行:
    GRANT ALL PRIVILEGES ON db.* TO 'root'@'localhost';
    FLUSH PRIVILEGES;
    
  • 启动日志检查:启动后端时,查看控制台是否有Hibernate输出的建表SQL(因配置了spring.jpa.show-sql=true)。若无SQL输出,说明实体类未被扫描,重点排查包路径与扫描注解。

3. 解决前端"Http failure response for http://localhost:8080/customer/all: 0 Unknown Error"

该错误大概率是跨域问题(Angular默认运行在4200端口,Spring Boot在8080端口,属于不同域名),解决方式二选一:

  • 在CustomerResource类添加跨域注解:
    @RestController
    @RequestMapping("/customer")
    @CrossOrigin(origins = "http://localhost:4200") // 允许Angular端口的请求
    public class CustomerResource {
        // 原有代码保留
    }
    
  • 全局跨域配置:创建配置类统一处理跨域:
    @Configuration
    public class CorsConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("http://localhost:4200")
                    .allowedMethods("GET", "POST", "PUT", "DELETE")
                    .allowedHeaders("*");
        }
    }
    

额外检查项

  • 确认MySQL服务正在运行,端口为3306,root用户的密码1234正确。
  • 检查Java18与Spring Boot版本兼容性:Spring Boot 3.x支持Java17+,若使用Spring Boot 2.x可能存在兼容问题,建议升级至Spring Boot 3.x版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:43:11