在上一篇《SpringBoot筆記之三:用Thymeleaf渲染頁面》中已經介紹瞭如何通過Thymeleaf模板渲染Web頁面。這一篇文章來介紹下如何通過starter訪問Mysql數據庫、進行CRUD以及自定義的數據操作。
添加Maven依賴
為了訪問mysql數據,需要引入如下依賴
spring-boot-starter-data-jpa: JPA(Java Persistence API)是Sun官方提出的Java持久化規範。它為Java開發人員提供了一種對象/關聯映射工具來管理Java應用中的關係數據。
mysql-connector-java: 訪問Mysql數據庫的驅動。
初始化Mysql測試數據
在springboot用戶名下使用如下sql進行建表springboot_test.student,並插入測試數據。
DataSource配置
在application.properties配置文件中添加如下數據庫配置。
定義實體類
定義和數據庫對應的Student實體類。
Repository類
Spring Data Repositories的目的是通過接口的形式簡化DAO層的實現,提供瞭如下的默認接口。
除了支持如上的默認接口外,還支持如下形式的擴展。
這樣,我們的StudentRepository類使用一個最簡單的findById接口方法舉例說明用法。
Controller層調用Repository
在Controller中注入StudentRepository即可對數據庫進行操作。
訪問Controller
小結
SprintBoot的配置極大的簡化了對數據庫操作的配置,jpa starter同樣提供了封裝好的接口對數據庫進行訪問,對數據庫的訪問變得非常容易。
相關推薦
'Python批量刪除mysql中千萬級大量數據'
"場景描述線上 mysql 數據庫裡面有張表保存有每天的統計結果,每天有1千多萬條,這是我們意想不到的,統計結果咋有這麼多。運維找過來,磁盤佔了 200G ,最後問了運營,可以只保留最近3天的,前面的數據,只能刪了。刪,怎麼刪?關注,轉發,私信小編“01”即可免費領取Pyt...
'基於MySQL Binlog的Elasticsearch數據同步實踐'
"作者介紹張坤,馬蜂窩電商研發團隊度假業務高級研發工程師。一、為什麼要做隨著馬蜂窩的逐漸發展,我們的業務數據越來越多,單純使用 MySQL 已經不能滿足我們的數據查詢需求,例如對於商品、訂單等數據的多維度檢索。使用 Elasticsearch 存儲業務數據可以很好的解決我們...
'《我約世界》物品介紹之製圖臺,你們有想我嗎?'
"大家好,我是為你介紹《我的世界》知識小二!今天為大家介紹的物品為製圖臺!製圖臺是在1.14村莊更新中加入的。製圖臺是生成在村莊的固體方塊,用於製作、拷貝、縮小和鎖定地圖。製圖臺會在村莊中的製圖師小屋中生成。接下來讓我們看一下製圖臺的歷史吧:Jave版製圖臺在1.14 18...
'我的全棧之路-C語言基礎之C語言概述'
"1.1 信息技術發展趨勢目前信息技術主要經歷了互聯網、移動互聯網以及以大數據、雲計算、物聯網、人工智能區塊為代表的新興技術三個階段。互聯網互聯網自從20世紀90年代逐漸興起,主要是通過網絡連接了世界各地的PC機,筆記本以及背後提供數據服務的大型服務器集群。其中絕大多數PC...
'良心文章 | MySQL性能優化分區之實戰(最全面最完整的分區)'
"本號主要用於分享企業中常用的技術,更加側重於實用,歡迎關注,便於瀏覽其它更多實用的歷史文章。一: 分區簡介分區是根據一定的規則,數據庫把一個表分解成多個更小的、更容易管理的部分。就訪問數據庫應用而言,邏輯上就只有一個表或者一個索引,但實際上這個表可能有N個物理分區對象組成...
'你向 Mysql 數據庫插入 100w 條數據用了多久?'
"多線程插入(單表)問:為何對同一個表的插入多線程會比單線程快?同一時間對一個表的寫操作不應該是獨佔的嗎?答:在數據裡做插入操作的時候,整體時間的分配是這樣的:鏈接耗時 (30%)發送query到服務器 (20%)解析query (20%)插入操作 (10% * 詞條數目)...
'「php框架實例」| Laravel之Model Observer模型'
"本文主要學習下Laravel的Model Observer模型觀察者,小編把自己的一點點經驗分享出來希望對別人能有幫助。同時,作者會將開發過程中的一些截圖和代碼黏上去,提高閱讀效率。開發環境:Laravel5.1+MAMP+PHP7+MySQL5.5沒有Model Obs...
推薦中...