這一節(jié),我們來演示如何在SpringBoot項(xiàng)目中連接數(shù)據(jù)庫(kù),并且自動(dòng)創(chuàng)建一張表。
按照慣例,數(shù)據(jù)庫(kù)我們依然使用mysql,至于什么是jpa呢?
jpa是sun推出的持久化規(guī)范(java persistens api),JPA通過JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。JPA 的目標(biāo)之一是制定一個(gè)可以由很多供應(yīng)商實(shí)現(xiàn)的API,并且開發(fā)人員可以編碼來實(shí)現(xiàn)該API,而不是使用私有供應(yīng)商特有的API。
實(shí)現(xiàn)JPA規(guī)范的框架,比較出名的是hibernate。
現(xiàn)在,我們需要在pom文件中引入兩個(gè)依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
分別為spring-data-jpq和mysql驅(qū)動(dòng)。
Spring Data是一個(gè)用于簡(jiǎn)化數(shù)據(jù)庫(kù)訪問,并支持云服務(wù)的開源框架。其主要目標(biāo)是使得對(duì)數(shù)據(jù)的訪問變得方便快捷,并支持map-reduce框架和云計(jì)算數(shù)據(jù)服務(wù)。 Spring Data 包含多個(gè)子項(xiàng)目,spring-data-jpq就是其中的一個(gè)。
修改yml文件:
server:
port: 8088
context-path: /demo
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/crud
username: root
password: 123456
jpa:
hibernate:
ddl-auto: create
show-sql: true
其中,設(shè)置ddl-auto: create的目的就是在項(xiàng)目啟動(dòng)的時(shí)候,就創(chuàng)建表。
接著,我們?nèi)バ陆ㄒ粋€(gè)JavaBean:

代碼:
package com.springboot.study.bean;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
private String username;
private String password;
//無參構(gòu)造方法,這個(gè)必須要有,不然會(huì)報(bào)錯(cuò)
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
其中,主鍵ID設(shè)置為自增長(zhǎng)。
然后,啟動(dòng)項(xiàng)目,發(fā)現(xiàn)數(shù)據(jù)庫(kù)的表已經(jīng)自動(dòng)生成了。

