首頁  >  文章  >  資料庫  >  如何使用Spring boot操作mysql資料庫

如何使用Spring boot操作mysql資料庫

一个新手
一个新手原創
2017-09-11 11:35:332572瀏覽

軟體硬體環境

  • macOS Sierra

  • #java 1.8.0_65

  • maven 3.5 .0

  • idea 2017.1.5

前言

前面一篇已經搭建了spring boot的開發環境並且完成了第一個Hello world程序,本文緊接著上篇的內容,開始資料庫相關的知識點。

工程相關設定

pom.xml

在dependencies標籤下增加依賴,一個是spring data jpa,另一個是mysql

<p style="margin-bottom: 7px;"><dependency><br/>    <groupId>org.springframework.boot</groupId><br/>    <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><br/>    <groupId>mysql</groupId><br/>    <artifactId>mysql-connector-java</artifactId></dependency><br/></p>
application. properties

在這個設定檔中需要寫上mysql的驅動程式、伺服器位址、連接埠、資料庫名稱、使用者名稱、密碼等資訊。

spring.datasource.dbcp2.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbvcms
spring.datasource.username=root
spring.datasource.password=djstava
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

其中spring.jpa.hibernate.ddl-auto=update表示操作資料庫時,所有的操作都是更新操作,這裡還可以取值create、create-drop等值

spring data jpa

spring data jpa操作mysql資料庫非常簡單,簡單到什麼程度?根本不需要你創建任何表格以及表格的各個欄位。這個有點像ORM(物件關係映射)。眼見為實,以下就來看看具體實現步驟。

建立實體類別

這裡的實體類別是指欲操作對象,包含它的各種屬性,對應到資料中的各個欄位。

LiveChannel.java

package com.xugaoxiang;import org.springframework.beans.factory.annotation.Autowired;import javax.persistence.Entity;import javax.persistence.Id;/**
 * Created by djstava on 10/09/2017.
 */@Entitypublic class LiveChannel {

    @Id
    @Autowired
    private Integer id;    // 频道名称中文
    private String name_chn;    // 频道名称英文
    private String name_eng;    // 频道url
    private String url;    // 频道是否需要播放广告
    private Boolean hasAds;    public String getName_chn() {        return name_chn;
    }    public void setName_chn(String name_chn) {        this.name_chn = name_chn;
    }    public String getName_eng() {        return name_eng;
    }    public void setName_eng(String name_eng) {        this.name_eng = name_eng;
    }    public String getUrl() {        return url;
    }    public void setUrl(String url) {        this.url = url;
    }    public Boolean getHasAds() {        return hasAds;
    }    public void setHasAds(Boolean hasAds) {        this.hasAds = hasAds;
    }
}

上面實體類別包含直播頻道的一些資訊。

介面實作

建立LiveChannelRepository.java,繼承自JpaRepository,其中的Interger表示的是id的資料類型

package com.xugaoxiang;
import org.springframework.data.jpa.repository.JpaRepository;/**
 * Created by djstava on 10/09/2017.
 */public interface LiveChannelRepository extends JpaRepository<LiveChannel,Integer> {}
操作資料庫

#建立LiveController ,這裡設計了一個RestfulAPI,/live,回傳的是資料庫中所以的直播清單。

package com.xugaoxiang;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;/**
 * Created by djstava on 10/09/2017.
 */@RestControllerpublic class LiveController {
    public LiveController() {
    }    @Autowired
    private LiveChannelRepository liveChannelRepository;    @GetMapping(value = "/live")    public List<LiveChannel> getLiveChannel() {        return liveChannelRepository.findAll();
    }
}

建立資料庫

如上設定資訊所示,建立資料庫dbvcms

如何使用Spring boot操作mysql資料庫

這裡我們是沒有去建立表格結構的,啟動工程的話,jpa會自動幫你把表創建好,各個字段的資訊就來自於文件LiveChannel.java

為了方便查詢,我們添加2條記錄,如下所示

如何使用Spring boot操作mysql資料庫

測試

一切準備就緒,啟動項目,在瀏覽器中輸入

http://localhost:8080/live

如何使用Spring boot操作mysql資料庫

如何使用Spring boot操作mysql資料庫

以上是如何使用Spring boot操作mysql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn