📌  相关文章
📜  mysql driver spring jpa application.properties - SQL (1)

📅  最后修改于: 2023-12-03 15:33:01.519000             🧑  作者: Mango

MySQL Driver Spring JPA Application Properties - SQL

介绍

在使用 Spring JPA 操作 MySQL 数据库时,需要配置一些基本信息,如数据库连接信息、JPA 配置信息等,这些信息存放在 application.properties 或 application.yml 中,通过配置文件来进行加载。本文将介绍如何配置 MySQL Driver Spring JPA Application Properties 中的 SQL 属性。

SQL 属性

SQL 属性包括以下几个参数:

  • spring.jpa.properties.hibernate.dialect: 用于指定生成 SQL 语句时使用的方言
  • spring.jpa.hibernate.ddl-auto: 用于指定 Hibernate 如何使用模式革新数据库架构
  • spring.jpa.show-sql: 用于开启 Hibernate 生成 SQL 语句的输出
spring.jpa.properties.hibernate.dialect

在实际开发中,MySQL 数据库有多种不同的版本,每个版本都有各自的实现细节。为了充分利用其特性,Hibernate 需要了解MySQL 数据库所使用的方言。因此,需要在 MySQL Driver Spring JPA Application Properties 中指定 hibernate.dialect 参数来充分利用 MySQL 特性。

不同 MySQL 数据库版本对应的方言:

| MySQL 版本 | Hibernate 方言 | | --- | --- | | MySQL 5.7 | org.hibernate.dialect.MySQL5Dialect | | MySQL 8.0 | org.hibernate.dialect.MySQL8Dialect |

在配置文件中添加:

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto

spring.jpa.hibernate.ddl-auto 用于控制 Hibernate 如何使用模式革新数据库架构。下面是它的值列表:

  • none:Hiberante 不会自动执行任何操作;
  • create-only:Hibernate 在程序启动时会执行 SQL 脚本来建立数据库中的表,并执行数据填充;
  • update:如果表存在则更新表结构,如果表不存在则创建表,并执行数据填充;
  • create-drop:当程序终止时,Hibernate 将删除表和所有数据。

在配置文件中添加:

spring.jpa.hibernate.ddl-auto=create-only
spring.jpa.show-sql

通过开启 spring.jpa.show-sql 可以在日志中输出 Hibernate 生成的 SQL 语句,这对于调试非常有帮助。可以采用如下方式来开启:

spring.jpa.show-sql=true
总结

MySQL Driver Spring JPA Application Properties 中的 SQL 属性包括:spring.jpa.properties.hibernate.dialectspring.jpa.hibernate.ddl-autospring.jpa.show-sql。其中,spring.jpa.properties.hibernate.dialect 用来指定 Hibernate 所用数据库的方言;spring.jpa.hibernate.ddl-auto 用来指定 Hibernate 在数据库中执行的操作;spring.jpa.show-sql 用来输出 Hibernate 所执行的 SQL 语句。