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)

 

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