Spring boot 之JPA實現hibernate自動創建表

JPA (Java Persistence API) 定義了一系列對象持久化的標準,目前實現這一規範的產品有Hibernate、TopLink等

直接上練習

項目結構

 

項目結構.png

一、配置
在pom.xml中添加

 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在 application.yml 裏 (這裏用的 yaml 配置文件,一定要注意縮進,不然後果嚴重)
spring.jpa.hibernate.ddl-auto 有五個值

作用
create 每次運行重新創建數據庫,會刪掉以前的數據
create-drop 程序停止的時候刪掉數據庫
validate 會驗證現在的實體裏面的參數和數據庫的參數是否一致,不一致會報錯
none 什麼也不做
update 會保留以前的數據,如果沒有表會創建表

 

spring:
  profiles:
    active: prod
  datasource:
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://127.0.0.1:3306/test
      username: root
      password: 123456
  jpa:
      hibernate:
        ddl-auto: update
      show-sql: true

在ManIfo裏面
@Entity 數據庫映射實體
@Id 表明表裏的id (一般主鍵什麼的)
@GeneratedValue 自增長

 

package com.alun;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * Created by Administrator on 2017/5/29.
 */
@Entity
public class ManInfo {
    @Id
    @GeneratedValue
    private Integer id;
    private String age;
    private String nickname;
    public ManInfo() {
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
}

運行之後,數據庫就創建了一張表

![ spring boot jpa 創建數據庫1.png]
](http://upload-images.jianshu.io/upload_images/3044229-35b64d6f4da850dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章