MyBatis 系列
MyBatis 安裝與入門:本文
MyBatis 使用: https://blog.yexca.net/zh-tw/archives/216
MyBatis 是一款優秀的持久層框架,用於簡化 JDBC 的開發。
MySQL 安裝 Windows
下載: https://dev.mysql.com/downloads/mysql/
下載 ZIP Archive
解壓縮,環境變數設定 MYSQL_HOME PATH 路徑 %MYSQL_HOME%\bin
以管理員權限開啟 cmd,輸入 mysql 檢測是否設定成功。
初始化 MySQL
輸入命令:
| |
稍等片刻,會在 MySQL 目錄生成 data 資料夾。
註冊 MySQL 服務
命令:
| |
啟動 MySQL 服務
命令:
| |
修改 root 密碼
命令:
| |
登入參數:
| |
入門範例
首先建立 SpringBoot 專案,勾選 MyBatis Framework 與 MySQL Driver 相依性。
- 資料庫
| |
- application.properties
| |
- User 類別
| |
- UserMapper 介面
| |
- 測試類別
| |
資料庫連線池
資料庫連線池是一個容器,負責分配、管理資料庫連線 (Connection)。
它允許應用程式重複使用一個現有的資料庫連線,而不是再重新建立一個。
釋放閒置時間超過最大閒置時間的連線,來避免因為沒有釋放連線而引起的資料庫連線遺漏。
優勢:資源複用、提升系統回應速度。
官方提供標準介面:DataSource
常見產品:Hikari (SpringBoot 預設)、Druid。
Lombok
在上述範例中,User 類別雖然只定義了幾個屬性,但需要很多方法從而使得程式碼臃腫,為此可以使用 Lombok。
Lombok 是一個實用的 Java 類別庫,能透過註解的形式自動生成建構子、getter/setter、equals、hashcode、toString 等方法,並可以自動化生成日誌變數,簡化 Java 開發、提高效率。
| 註解 | 作用 |
|---|---|
| @Getter/@Setter | 為所有的屬性提供 get/set 方法 |
| @ToString | 會給類別自動生成易閱讀的 toString 方法 |
| @EqualsAndHashCode | 根據類別所擁有的非靜態欄位自動重寫 equals 方法和 hashCode 方法 |
| @Data | 提供了更綜合的生成程式碼功能 (@Getter+@Setter+@ToString +@EqualsAndHashCode) |
| @NoArgsConstructor | 為實體類別生成無參數的建構子方法 |
| @AllArgsConstructor | 為實體類別生成除了 static 修飾的欄位之外帶有各參數的建構子方法 |
引入 Lombok
引入相依性,不需要版本號,已經被 SpringBoot 設定:
| |
User 類別
| |
Lombok 會在編譯時,自動生成對應的 Java 程式碼,使用 Lombok 需要安裝一個外掛程式,不過 IDEA 預設已安裝。