1. 程式人生 > >輕輕鬆鬆學習SpringBoot2:第十六篇: SpringBoot和JPA(一)(mysql)

輕輕鬆鬆學習SpringBoot2:第十六篇: SpringBoot和JPA(一)(mysql)

Spring操作資料庫的方式有很多種,這一遍我們講解的是jpa(Java Persistence API)

一:建立資料庫test

create database test

二:引入maven配置檔案

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.26</version>
</dependency>
<dependency>
    <groupId>
org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>

一個是mysql的,一個是jpa

三:配置檔案配置資料庫



ddl-auto:create----每次執行該程式,沒有表格會新建表格,表內有資料會清空
ddl-auto:create-drop----每次程式結束的時候會清空表
ddl-auto:update----每次執行程式,沒有表格會新建表格,表內有資料不會清空,只會更新
ddl-auto:validate----執行程式會校驗資料與資料庫的欄位型別是否相同,不同會報錯

啟動工程我們發現日誌中一些變化


四:定義一個java類,並使用@Entity便籤定義

package com.example.test;

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

@Entity
public class Test {
    private Integer id;
    private Integer age;
    private String name;
    @Id
    @GeneratedValue
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

我們發現庫中自動生成這個表了


和資料的表自生成

我們再來看一下生成的表的建表語句


有模有樣,哈哈,當然我們發現建的表是MyISAM型別的,這可不是我們想要的

我們想要innodb型別,如何是好

我們修改配置檔案


添加了

database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

我們把庫中表刪了,重啟下服務