J.J. Huang   2019-03-27   Spring Boot   瀏覽次數:次  

SpringBoot - 第十三章 | JdbcTemplate訪問資料庫

📑 目錄
  1. Docker 資料庫準備
    1. 執行 MySQL Image
    2. 連接 Container & 連接 Mysql
    3. 建立資料庫
    4. 建立資料表
  2. 資料源配置
    1. 加入pom的依賴
  3. 連接資料源
    1. 加入pom的依賴
  4. JdbcTemplate操作資料庫
    1. 建立Entity
    2. 建立Service介面
    3. 建立Service實作
    4. 撰寫測試
    5. 測試結果

在開始這篇文章教學之前,建議先將 Docker 做一個了解,因為下面將會使用到 Docker 來建立我們的MySQL資料庫環境。

在前面的文章中 第四章 - SpringBoot Web開發、使用模板引擎渲染Web的介紹,而這些內容還不足以建立一個動態式的應用。不管我們建立App或是Web,裡面都是需要內容,而內容通常存儲於各種類型的資料庫,服務端在接收到訪問請求之後需要訪問資料庫獲取並處理成展現給用戶使用的資料形式。

Docker 資料庫準備

執行 MySQL Image

1
docker run --name mymysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 mysqld

連接 Container & 連接 Mysql

1
2
docker exec -it mymysql bash
mysql -hlocalhost -p3306 -uroot -proot

SpringBoot - 第十三章 - 圖 1 (01)​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​​‌​​‌‌‌​​‌​​‌‌​​​​​​‌‌​​‌‌​​‌‌​​‌​​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌‌​​​‌​​‌‌​​‌‌

建立資料庫

1
2
#CREATE DATABASE dbname;
CREATE DATABASE test;

SpringBoot - 第十三章 - 圖 2 (02)

建立資料表

1
2
3
4
5
6
7
8
9
10
11
12
13
USE test;

DROP TABLE IF EXISTS `customer`;
CREATE TABLE `customer` (
`id` bigint(20) NOT NULL COMMENT 'id',
`name` varchar(64) DEFAULT NULL COMMENT '姓名',
`age` smallint(3) DEFAULT NULL COMMENT '年齡',
`create_by` varchar(50) NOT NULL COMMENT '建立人員',
`create_dt` datetime NOT NULL COMMENT '建立時間',
`modify_by` varchar(50) DEFAULT NULL COMMENT '修改人員',
`modify_dt` datetime DEFAULT NULL COMMENT '修改時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

SpringBoot - 第十三章 - 圖 3 (03)


資料源配置

訪問資料庫的時候,需要先配置一個資料源,為了連接資料庫需要引入jdbc支持
解釋:Java 對 MySQL 連線的API​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​​‌​​‌‌‌​​‌​​‌‌​​​​​​‌‌​​‌‌​​‌‌​​‌​​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌‌​​​‌​​‌‌​​‌‌

加入pom的依賴

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

連接資料源

解釋:java 對 MySQ L的 connector

加入pom的依賴

1
2
3
4
5
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

在src/main/resources/application.properties中配置資料源訊息

1
2
3
4
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

JdbcTemplate操作資料庫

建立Entity

建立Service介面

建立Service實作

撰寫測試

測試結果

SpringBoot - 第十三章 - 圖 4 (04)​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​​‌​​‌‌‌​​‌​​‌‌​​​​​​‌‌​​‌‌​​‌‌​​‌​​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌‌​​​‌​​‌‌​​‌‌

SpringBoot - 第十三章 - 圖 5 (05)

上面介紹的JdbcTemplate只是最基本的幾個操作,更多其他資料訪問操作的使用請參考:JdbcTemplate API

註:以上參考了
程序猿DD-翟永超Spring Boot中使用JdbcTemplate访问数据库 文章。​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​​‌​​‌‌‌​​‌​​‌‌​​​​​​‌‌​​‌‌​​‌‌​​‌​​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​‌‌​​​‌​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌‌​​​‌​​‌‌​​‌‌