簡(jiǎn)介
本篇我們將學(xué)習(xí)如何在項(xiàng)目中連接數(shù)據(jù)庫(kù)。
在一個(gè)成熟的項(xiàng)目是離不開數(shù)據(jù)庫(kù)的,數(shù)據(jù)庫(kù)很好的為我們的項(xiàng)目管理數(shù)據(jù),讓我們的開發(fā)變得簡(jiǎn)單,我們只需關(guān)注數(shù)據(jù)操作,而無(wú)需關(guān)注更多的數(shù)據(jù)庫(kù)是如何操作的。
那么Spring Boot開發(fā)的項(xiàng)目是如何連接數(shù)據(jù)庫(kù)呢?大家還記得在Spring Boot 配置文件設(shè)置(三)配置的時(shí)候說(shuō)到數(shù)據(jù)庫(kù)的連接。是的沒錯(cuò)上面的例子完完全全都可以進(jìn)行數(shù)據(jù)的連接。本篇是以連接MySQL為例,進(jìn)行連接數(shù)據(jù)操作。

安裝
在開發(fā)之前,我們一定要選擇合適的數(shù)據(jù)庫(kù),例如:MySQL、Oracle、SQL Server、SQLite、MongoDB等數(shù)據(jù)庫(kù),本篇將對(duì)MySQL進(jìn)行操作,其他數(shù)據(jù)庫(kù)類型,請(qǐng)查看文檔,后期可能增加。
- 下載MySQL進(jìn)行安裝
- 配置MySQL環(huán)境變量
- 打開CMD,進(jìn)行驗(yàn)證MySQL是否安裝成功
查看版本
mysql -v
進(jìn)入MySQL
mysql -u root -p;
- 注意: mysql剛剛安裝完成時(shí),賬戶為:root,密碼沒有,所以直接回車就行
然后可以設(shè)置一下密碼,或者不設(shè)置也無(wú)所謂,修改密碼如下:
用SET PASSWORD命令:
mysql -u root -p
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
或者用mysqladmin,如果無(wú)法設(shè)置的時(shí)候,就用管理者進(jìn)入設(shè)置
mysqladmin -u root password "newpass"
如果root已經(jīng)設(shè)置過(guò)密碼,采用如下方法:
mysqladmin -u root password oldpass "newpass"
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù):
CREATE DATABASE 數(shù)據(jù)庫(kù)名;
CREATE DATABASE eirunye_springboot_notes;
查看創(chuàng)建的數(shù)據(jù)庫(kù):
SHOW DATABASES;

連接數(shù)據(jù)庫(kù)
1.在項(xiàng)目根目錄下打開pom.xml文件添加 MySql Maven 依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jpa依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!--MySQL配置依賴 版本看自己的需求-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.在application.properties或者在application.yml文件進(jìn)行配置,本例以application.yml為例
- 在
application.yml添加一下代碼。
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver # MySql jdbc Driver
# 連接數(shù)據(jù)庫(kù)
# eirunye_springboot_notes表示的是你創(chuàng)建的數(shù)據(jù)庫(kù);
# useSSL:是否使用SSL證書驗(yàn)證;
# characterEncoding:編碼格式;
# useJDBCCompliantTimezoneShift:是否使用符合JDBC的時(shí)區(qū)轉(zhuǎn)換;
# useLegacyDatetimeCode:是否使用舊版日期時(shí)間碼;
# serverTimezone:選擇服務(wù)器時(shí)間方式;
url: jdbc:mysql://127.0.0.1:3306/eirunye_springboot_notes?useSSL=false&requireSSL=false&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root #本地設(shè)置數(shù)據(jù)庫(kù)賬號(hào)
password: 123456 #密碼
- 在
application.properties添加一下代碼。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 連接數(shù)據(jù)庫(kù)
# demo表示的是你創(chuàng)建的數(shù)據(jù)庫(kù);
# useSSL:是否使用SSL證書驗(yàn)證;
# characterEncoding:編碼格式;
# useJDBCCompliantTimezoneShift:是否使用符合JDBC的時(shí)區(qū)轉(zhuǎn)換;
# useLegacyDatetimeCode:是否使用舊版日期時(shí)間碼;
# serverTimezone:選擇服務(wù)器時(shí)間方式;
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useSSL=false&requireSSL=false&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
# 數(shù)據(jù)庫(kù)用戶名
spring.datasource.username=root
# 數(shù)據(jù)庫(kù)密碼
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
# 是否啟用SQL語(yǔ)句的日志記錄
spring.jpa.show-sql=true
server.port=8081
3.測(cè)試
運(yùn)行項(xiàng)目若無(wú)報(bào)錯(cuò)則說(shuō)明配置已經(jīng)成功了,接下來(lái)就是進(jìn)行項(xiàng)目編寫了。
使用Intellij IDEA操作數(shù)據(jù)庫(kù)
如果使用的是Intellij IDEA進(jìn)行開發(fā)項(xiàng)目的話,我們也可以這么查看我們的連接,還有相關(guān)數(shù)據(jù)表等等。
如何使用Intellij IDEA連接數(shù)據(jù)庫(kù)?
1.打開Intellij IDEA的database數(shù)據(jù)庫(kù)導(dǎo)航
- 打開方式一

- 打開方式二

2.進(jìn)行連接


3.連接成功

- 注意事項(xiàng)
如果無(wú)法連接,那說(shuō)明賬號(hào)密碼出現(xiàn)問(wèn)題,還有可能是修改了其他默認(rèn)的地方。大家請(qǐng)注意。
5.創(chuàng)建表TABLE
- 創(chuàng)建表

- 添加字段

- 插入數(shù)據(jù)

下載
本篇案例代碼下載-碼云
本篇案例代碼下載-GitHub
Spring Boot系列代碼-碼云
Spring Boot系列代碼-GitHub
總結(jié)
1.一般情況下我在配置連接數(shù)據(jù)庫(kù)的時(shí)候,推薦大家使用的是在設(shè)置文件里面配置在.yml或者是application.properties里面進(jìn)行設(shè)置。
2.接下來(lái)的博文講解如何操作數(shù)據(jù)庫(kù): JPA、MyBatis
- 在使用Spring Boot開發(fā)項(xiàng)目中遇到了一些坑,在后期我會(huì)不斷更新,與大家一起學(xué)習(xí)。
4.當(dāng)然了IDEA還有許多操作數(shù)據(jù)庫(kù)功能,大家就自己進(jìn)行操作測(cè)試吧。
我的博客
大家可以到我的博客http://eirunye.github.io進(jìn)行瀏覽相關(guān)文章,大家一起相互探討技術(shù)。
推薦
如果大家想了解更多的Spring Boot相關(guān)博文請(qǐng)進(jìn)入
我的Spring Boot系列博客棧