一文詳細(xì)springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的整合步驟
前言
在家閑來(lái)無(wú)事,想起最基礎(chǔ)的spring boot項(xiàng)目,但整合jdbc,鏈接數(shù)據(jù)庫(kù)一整個(gè)操作對(duì)于初學(xué)者來(lái)說還是有些困難,我順帶記錄一下。之后把springboot整合Mybatis和整合redis以及一些案例也寫一下,期待成品給大家。。。。
一、spring boot的helloworld
首先打開idea
創(chuàng)建新項(xiàng)目,例如創(chuàng)建一個(gè)demo0305項(xiàng)目工程
之后選擇springboot項(xiàng)目的web功能就可以了
點(diǎn)擊Finish生成項(xiàng)目,注意:初始加載可能會(huì)有很多文件,比較緩慢,耐性等待右下角無(wú)加載項(xiàng)就可以了
(1)·有同學(xué)可能要問不是鏈接MySQL嗎?不用把MySQL功能也選上嗎???
我的回答是:這個(gè)后面在pom.xml文件里增加相關(guān)的依賴就行,暫時(shí)不用選擇,也是可以運(yùn)行的。
之后在src下創(chuàng)建一個(gè)Controller的包,為了代碼規(guī)范,建議把所有的Controller放在一個(gè)包里,方便查看
再新建一個(gè)helloController的Java文件,用于編寫hello請(qǐng)求的響應(yīng)方法
生成文件格式如下圖所示即可
此時(shí)就已經(jīng)有了主啟動(dòng)文件Demo0305Application和控制文件helloController
接下來(lái)就開始編輯helloController文件
具體代碼如下
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController class helloController { @GetMapping("/hello") public String hello(){ return "hello Spring Boot"; } }
(2)此時(shí)同學(xué)們要問,@GetMapping這個(gè)方法是怎么寫的,內(nèi)在邏輯是什么?
其實(shí)只是寫了個(gè)@GetMapping的注解,但要在@RestController之后,再寫一個(gè)類,返回hello Spring Boot字樣,具體的底層代碼可以按著Ctrl點(diǎn)擊注釋本身,你就能跳轉(zhuǎn)到底層的實(shí)現(xiàn)邏輯
到此,保存一下就可以啟動(dòng)項(xiàng)目了(右上角綠色按鈕啟動(dòng))
成功啟動(dòng)后,在瀏覽器訪問localhost:8080/hello顯示成功hello spring boot
hello world調(diào)試成功,我的有位老師說過,只要hello world調(diào)試成功,就應(yīng)該把項(xiàng)目全部都運(yùn)行出來(lái),只是時(shí)間的問題。后面點(diǎn)擊右上角紅色關(guān)閉服務(wù)器
二、spring boot整合jdbc,實(shí)現(xiàn)MySQL的查詢和顯示
實(shí)現(xiàn)了helloworld,現(xiàn)在鏈接MySQL就需要在pom.xml文件里增加相關(guān)的依賴了,需要增加的依賴在spring官網(wǎng)也能查到,下面我給出所需的依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!--Spring boot 核心--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--Mysql依賴包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- druid數(shù)據(jù)源驅(qū)動(dòng) --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.7.2</version> </dependency> </dependencies>
原始的依賴只有兩個(gè)一個(gè)是spring-boot-starter-web這個(gè)依賴,另外一個(gè)是spring-boot-starter-test這個(gè)依賴,這兩個(gè)一個(gè)是web項(xiàng)目所用的,一個(gè)是用來(lái)測(cè)試的,也是最基本的兩個(gè)。==這個(gè)pom文件要看得懂。==而且 <dependencies和
<dependency的這兩者關(guān)系也要看清楚
為了方便操作,我上面給的這些依賴就是所有的依賴,已經(jīng)包含了基本的那兩個(gè)依賴,直接覆蓋dependencies里面就行了,之后點(diǎn)擊右上角的加載項(xiàng),把依賴加載完,也是直至右下角加載完成。
現(xiàn)在MySQL的相關(guān)依賴已經(jīng)加入,但是對(duì)于端口和MySQL的賬號(hào)密碼還沒設(shè)置,所以現(xiàn)在開始設(shè)置MySQL
(1)配置資源,要在resource文件下配置
(1)有兩種創(chuàng)建配置文件的方法,要用哪一種呢?
一種創(chuàng)建文件的方法是直接在application.properties里面配置
配置文件如下
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=123456
這個(gè)文件前面都帶有spring.datasource的前綴并且管理起來(lái)也不方便
所以另外一種創(chuàng)建配置類的方法是,創(chuàng)建一個(gè)application.yml的yml文件,使得結(jié)構(gòu)清晰,方便管理
并且yml文件的書寫方法方便快捷,如下
spring: datasource: url: jdbc:mysql://localhost:3306/blog? useUnicode=true&characterEncoding=utf8 username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver
注意:yml文件的頂格和空格代表了上下級(jí)關(guān)系,所以這個(gè)頂格不能去掉。
這里創(chuàng)建yml文件的方法
需要再設(shè)置File---->Settings
Editor---->File And Code Templates
手動(dòng)輸入ym File 后面輸入yml,點(diǎn)擊右下角apply即可
這樣,在resource右鍵new的時(shí)候,就看見yml文件了,輸入application即可生成application.yml文件,就可以配置MySQL的賬戶密碼了
生成如圖
注意:3306/后面這個(gè)是你的數(shù)據(jù)庫(kù)名字,我這里數(shù)據(jù)庫(kù)里有個(gè)blog的表,待會(huì)我會(huì)進(jìn)行查詢,你們也可以在數(shù)據(jù)庫(kù)里設(shè)置自己的數(shù)據(jù)庫(kù),并把名字復(fù)制到這里就行了。我的數(shù)據(jù)庫(kù)里有這些記錄,待會(huì)要查到,并顯示。
這時(shí),MySQL就鏈接好了,開始建立查詢,我們重新寫一個(gè)Controller,就命名為jdbcController,創(chuàng)建方法和helloController的方法一樣,如下圖所示
在里面編寫文件
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; import java.util.List; @RestController public class jdbcController { @Autowired JdbcTemplate jdbcTemplate; //寫一個(gè)list請(qǐng)求,查詢數(shù)據(jù)庫(kù)信息 @GetMapping("/list") public List<Map<String,Object>> list(){ String sql="select * from commentlikes"; List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql); return list_map; } }
有一個(gè) @Autowired的注解,這里也是自動(dòng)注入的注解,還有一條我們熟悉的 @GetMapping注解,list里面包含了一條sql語(yǔ)句,具體語(yǔ)句是寫在雙引號(hào)里面并進(jìn)行賦值的,使用List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);方法將查詢到的信息羅列出來(lái),并進(jìn)行返回到主頁(yè)的操作。
注意:這里的select * from commentlikes是根據(jù)你的數(shù)據(jù)庫(kù)里面的表名進(jìn)行查詢的,在頁(yè)面里只有羅列,沒有固定格式,在做大型數(shù)據(jù)項(xiàng)目時(shí),就可以在需要查詢的項(xiàng)目里編寫這樣的方法,這也是底層查詢邏輯。
(2)至此編寫結(jié)束,啟動(dòng)項(xiàng)目
成功啟動(dòng)
訪問localhost:8080/list
我們的庫(kù)表信息已成功顯示。
總結(jié)
本次文章主要是對(duì)springboot的項(xiàng)目進(jìn)行MySQL的整合,可以進(jìn)行簡(jiǎn)單的練習(xí),在拿到成品的HTML網(wǎng)頁(yè)時(shí),只需要把查詢到的語(yǔ)句返回到指定的接口中,查詢?nèi)蝿?wù)就完成。
到此這篇關(guān)于springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)整合的文章就介紹到這了,更多相關(guān)springboot整合MySQL數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
學(xué)習(xí)Java的Date、Calendar日期操作
Java開發(fā)過程中避免不了日期相關(guān)操作,這篇文章總結(jié)了一些Date、Calendar的常用方法,需要的朋友可以參考下2015-07-07帶你了解如何使用Spring基于ProxyFactoryBean創(chuàng)建AOP代理
這篇文章主要介紹了Spring基于ProxyFactoryBean創(chuàng)建AOP代理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08java開發(fā)SSM框架具有rest風(fēng)格的SpringMVC
這篇文章主要介紹了java開發(fā)中如何使SSM框架具有rest風(fēng)格的SpringMVC實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Java文件下載ZIP報(bào)錯(cuò):Out of Memory的問題排查
本文主要介紹了Java項(xiàng)目中下載大文件(超過2G的ZIP文件)時(shí)出現(xiàn)內(nèi)存溢出(OutOfMemory:JavaHeapSpace)的問題,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01Springboot Redis設(shè)置key前綴的方法步驟
這篇文章主要介紹了Springboot Redis設(shè)置key前綴的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04