手把手的SpringBoot教程,SpringBoot創(chuàng)建web項(xiàng)目(五)

這一節(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:


image.png

代碼:

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)生成了。

image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 對(duì)于一顆逐漸成熟的韭菜,在幣圈有著深遠(yuǎn)而淵長(zhǎng)的歷程要走,因?yàn)樵趲湃Γ阋坏┩V箤W(xué)習(xí)的步伐,短期內(nèi)你就會(huì)有深刻的感受...
    Jaycee天使貓閱讀 578評(píng)論 0 1
  • 裘同學(xué)喜歡的數(shù)字③③ 裘同學(xué)的陽歷生日 還有我喜歡的49天 湊了一窩窩:-O ⊙?⊙!
    PWong閱讀 131評(píng)論 0 0
  • Session 不想看廢話的直接拖到下面看干貨部分! 我們管理Linux服務(wù)器通常是通過ssh遠(yuǎn)程連接過去,如果在...
    yuanzicheng閱讀 1,329評(píng)論 0 50

友情鏈接更多精彩內(nèi)容