本文将对在spring Boot构建的应用中,基于MySQL数据库的JPA连接的配置。
- 属性配置文件(application.properties)
spring.jpa.show-sql=true
logging.level.org.springframework.data=DEBUG
spring.jpa.hibernate.ddl-auto=none
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.datasource.url=jdbc:mysql://localhost:3306/suer
spring.datasource.username=root
spring.datasource.password=*******
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
在上面配置中要注意的是“spring.jpa.hibernate.ddl-auto”这个属性,它有五个value值选着分别是:
1. none 永远以数据表字段为准,不做任何修改
2. validate 加载hibernate时,验证创建数据库表结构,会和数据库中的表进行比较,不会创建新表,但是会插入新值
1. create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因
1. create-drop 加载hibernate时创建,退出是删除表结构
1. update 加载hibernate自动更新数据库结构
- pom.xml 配置maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
总结
- 对spring.jpa.hibernate.ddl-auto的value值要慎用
- 数据库表字段已变更及数据删除时,请查看spring.jpa.hibernate.ddl-auto的value值