Spring Boot +Hibernate + jpa 通過實體映射生成數據庫中的表
不廢話,上代碼
一,POM 配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
二,配置文件
# 根據實體類創建數據庫表 # create 啟動時刪數據庫中的表,然后創建,退出時不刪除數據表 # create-drop 啟動時刪數據庫中的表,然后創建,退出時刪除數據表 如果表不存在報錯 # update 如果啟動時表格式不一致則更新表,原有數據保留 # validate 項目啟動表結構進行校驗 如果不一致則報錯
spring: jpa: hibernate: ddl-auto: update show-sql: true naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
三,定義實體類
import lombok.Setter; import javax.persistence.*; import java.util.Date; @Entity @Table(name = "tableName") @org.hibernate.annotations.Table(appliesTo = "tableName",comment="表注釋") @Setter public class _1_AAAAA { private String operationId; private String enable; private Date createTime; private String createBy; private Date updateTime; private String updateBy; private String remark; private Long id; public void setId(Long id) { this.id = id; } @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(length = 20) public Long getId() { return id; } @Column(name = "operation_id", columnDefinition = " VARCHAR(300) DEFAULT NULL COMMENT '業務ID' ") public String getOperationId() { return operationId; } @Column(name = "enable", columnDefinition = " CHAR DEFAULT 'Y' COMMENT '是否有效' ") public String getEnable() { return enable; } @Column(name = "create_time", columnDefinition = " DATETIME DEFAULT CURRENT_TIMESTAMP NULL COMMENT '創建時間' ") public Date getCreateTime() { return createTime; } @Column(name = "create_by", columnDefinition = " VARCHAR(300) DEFAULT NULL COMMENT '創建人' ") public String getCreateBy() { return createBy; } @Column(name = "update_time", columnDefinition = " DATETIME DEFAULT CURRENT_TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間' ") public Date getUpdateTime() { return updateTime; } @Column(name = "update_by", columnDefinition = " VARCHAR(300) DEFAULT NULL COMMENT '更新人' ") public String getUpdateBy() { return updateBy; } @Column(name = "remark", columnDefinition = " VARCHAR(500) DEFAULT NULL COMMENT '備注' ") public String getRemark() { return remark; }
項目啟動,數據庫表就創建成功!!