Spring boot + hibernate自动生成表问题(application.yml配置方式)

本文详细介绍了在Spring Boot项目中使用JPA进行数据库操作时,如何正确配置application.yml以实现自动创建数据库表的功能。通过对比不同配置项的作用,解决了手动建表的问题,确保开发效率。

从git上找的入门例子,其中配置如下

spring:
  profiles:
    active: dev
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQLDialect
        new_generator_mappings: false
        format_sql: true

做完之后测试可以通过,但是要先手动建数据表.

然后自己写了自己的小项目,想自动生成表却一直不生效,改了改去就那么点代码,而且百度大多资料都是application.properties配置方式,实在不想改.

后经测试发现上述代码虽然可以使用,但是不能自动生成,需改为如下

  jpa:
    hibernate:
      dialect: org.hibernate.dialect.MySQLInnoDBDialect
      new_generator_mappings: false
      format_sql: true
      ddl_auto: update
      show_sql: true

若eclipse出现警告点击快捷修复即可 

 

### Spring Bootapplication.yml配置详解 #### 基本概念 在 Spring Boot 应用程序中,`application.yml` 是一种基于 YAML 格式的配置文件,用于定义应用程序的各种属性和行为。YAML 使用缩进来示层次结构,因此相较于传统的 `.properties` 文件更加直观易读[^2]。 #### 配置项说明 以下是常见的 `application.yml` 配置项及其功能: 1. **服务器端口** 可以通过设置 `server.port` 来更改嵌入式 Tomcat 或 Jetty 服务器的默认监听端口。 ```yaml server: port: 8081 ``` 2. **数据库连接** 数据库连接可以通过以下方式配置,支持多种关系型数据库(如 MySQL、PostgreSQL 等)。 ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC username: root password: secret driver-class-name: com.mysql.cj.jdbc.Driver ``` 3. **JPA/Hibernate 设置** 如果使用 JPA 进行 ORM 映射,则可以调整 Hibernate 行为。 ```yaml spring: jpa: hibernate: ddl-auto: update show-sql: true ``` 4. **日志级别** 日志级别的控制能够帮助开发者调试问题或优化性能。 ```yaml logging: level: root: INFO org.springframework.web: DEBUG ``` 5. **缓存管理** 支持多种缓存实现(如 EhCache、Redis),可通过如下方式进行基础配置。 ```yaml spring: cache: type: redis ``` 6. **邮件服务** 对于发送电子邮件的功能,可在此处指定 SMTP 服务器的相关参数。 ```yaml spring: mail: host: smtp.example.com port: 587 username: user@example.com password: secretpassword properties: mail: smtp: auth: true starttls: enable: true ``` #### 实际应用案例 假设我们需要开发一个简单的 Web 应用程序,并集成 MySQL 数据库和 Redis 缓存。完整的 `application.yml` 配置可能如下所示: ```yaml server: port: 8090 spring: datasource: url: jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC username: admin password: passw0rd driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: create-drop show-sql: true cache: type: redis logging: level: root: WARN org.hibernate.SQL: DEBUG ``` 上述配置涵盖了服务器启动端口、MySQL 数据源初始化、Hibernate 自动建策略以及启用 SQL 调试等功能[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值