jpa配置之ddl-auto属性
前言
提示:本文章是日常学习内容的总结,并非全部原创;仅供大家参考借鉴,并无其他商业用途。
1、ddl-auto属性类别
在jpa中,ddl-auto共分为四种:
spring.jpa.hibernate.ddl-auto = create ----每次启动SpringBoot程序时,没有表会新建表格,表内有数据会清空;
spring.jpa.hibernate.ddl-auto = create-drop ----每次启动SpringBoot程序时,会清空表数据;
spring.jpa.hibernate.ddl-auto = update ---- 每次启动SpringBoot程序时,没有表格会新建表格,表内有数据不会清空,只会更新;
spring.jpa.hibernate.ddl-auto = validate ---- 每次启动SpringBoot程序时,会校验实体类字段与数据库字段的类型是否相同,不同则会报错;
2、update自动创建表-举例
创建实体类Admin,启动SpringBoot后。
发现数据库根据Admin实体类,自动创建了admin表。
注意!!!
1.SpringBoot启动类上,注意添加@EntityScan,扫描实体类
c 2.数据库要先创建对应的数据库
2.1Admin实体类
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Entity
public class Admin {
private static final long serialVersionUID = 1L;
@Id/*主键*/
@GeneratedValue(strategy= GenerationType.IDENTITY)/*自动递增*/
private Integer id;
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
}
2.2、application.properties
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/live?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#显示执行的sql语句
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
2.3、pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
2.4、启动SpringBoot启动类
如图所示:数据库自动创建了admin表,