macOS Sierra
#java 1.8.0_65
maven 3.5 .0
idea 2017.1.5
前面一篇已經搭建了spring boot的開發環境並且完成了第一個Hello world程序,本文緊接著上篇的內容,開始資料庫相關的知識點。
在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>
在這個設定檔中需要寫上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操作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
這裡我們是沒有去建立表格結構的,啟動工程的話,jpa會自動幫你把表創建好,各個字段的資訊就來自於文件LiveChannel.java
為了方便查詢,我們添加2條記錄,如下所示
一切準備就緒,啟動項目,在瀏覽器中輸入
http://localhost:8080/live
以上是如何使用Spring boot操作mysql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!