01、初始化 MySQL 資料庫
既然要連接配接 MySQL,那麼就需要先在電腦上安裝 MySQL 服務(本文暫且跳過),并且建立資料庫和表。
CREATE DATABASE springbootdemo;
DROP TABLE IF EXISTS mysql_datasource;
CREATE TABLE mysql_datasource (
id varchar(64) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
阿裡雲伺服器1核2G低至82元/年,阿裡雲官活動網址:
https://dashi.aliyun.com/site/yun/aliyun可以用20代金券,即102-20=82。
02、使用 Spring Initlallzr 建立 Spring Boot 項目
建立一個 Spring Boot 項目非常簡單,通過 Spring Initlallzr(
https://start.spring.io/)就可以了。
勾選 Lombok、Web、MySQL Driver、Actuator、JDBC 等五個依賴。
1)Lombok 是一種 Java 實用工具,可用來幫助開發人員消除 Java 的一些備援代碼,比如說可以通過注解生成 getter/setter。使用之前需要先在 IDE 中安裝插件。
2)Web 表明該項目是一個 Web 項目,便于我們直接通過 URL 來實操。
3)MySQL Driver:連接配接 MySQL 伺服器的驅動器。
申請阿裡雲服務時,可以使用2000元阿裡雲代金券,阿裡雲官網領取網址:
https://dashi.aliyun.com/site/yun/youhui4)Actuator 是 Spring Boot 提供的對應用系統的自省和監控的內建功能,可以檢視應用配置的詳細資訊,例如自動化配置資訊、建立的 Spring beans 以及一些環境屬性等。
5)JDBC:本篇文章我們通過 JDBC 來連接配接和操作資料庫。
選項選擇完後,就可以點選【Generate】按鈕生成一個初始化的 Spring Boot 項目了。生成的是一個壓縮包,導入到 IDE 的時候需要先解壓。
03、編輯 application.properties 檔案
項目導入成功後,等待 Maven 下載下傳依賴,完成後編輯 application.properties 檔案,配置 MySQL 資料源資訊。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
1)spring.datasource. 為固定格式。
2)URL 為 MySQL 的連接配接位址。
3)username 為資料庫的通路使用者名。
4)password 為資料庫的通路密碼。
5)driver-class-name 用來指定資料庫的驅動器。也可以不指定,Spring Boot 會根據 URL(有 mysql 關鍵字) 自動比對驅動器。
04、編輯 Spring Boot 項目
為了便于我們操作,我們對 SpringBootMysqlApplication 類進行編輯,增加以下内容。
@SpringBootApplication
@RestController
public class SpringBootMysqlApplication {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("insert")
public String insert() {
String id = UUID.randomUUID().toString();
String sql = "insert into mysql_datasource (id,name) values ('"+id+"','沉默王二')";
jdbcTemplate.execute(sql);
return "插入完畢";
}
1)@SpringBootApplication、@RestController、@RequestMapping 注解在[之前的文章]()中已經介紹過了,這裡不再贅述。
2)@Autowired:顧名思義,用于自動裝配 Java Bean。
3)JdbcTemplate:Spring 對資料庫的操作在 jdbc 上做了深層次的封裝,利用 Spring 的注入功能可以把 DataSource 注冊到 JdbcTemplate 之中。JdbcTemplate 提供了四個常用的方法。
①、execute() 方法:用于執行任何 SQL 語句。
②、update() 方法:用于執行新增、修改、删除等 SQL 語句。
③、query() 方法:用于執行查詢相關 SQL 語句。
④、call() 方法:用于執行存儲過程、函數相關 SQL 語句。
本例中我們使用 execute() 方法向 mysql_datasource 表中插入一行資料 {id:uuid, name:'沉默王二'}。
05、運作 Spring Boot 項目
接下來,我們直接運作 SpringBootMysqlApplication 類,這樣一個 Spring Boot 項目就啟動成功了。
這時候,我們可以直接浏覽器的 URL 中鍵入
http://localhost:8080/insert測試 MySQL 的插入語句是否執行成功。很遺憾,竟然出錯了。
該怎麼辦呢?這需要我們在連接配接字元串中顯式指定時區,修改 spring.datasource.url 為以下内容。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?serverTimezone=UTC
重新運作該項目後再次通路,發現資料插入成功了。
為了確定資料是否真的插入成功了,我們通過 Navicat(一款強大的資料庫管理和設計工具)來檢視一下。
情況不妙,中文亂碼了。該怎麼辦呢?需要我們在連接配接字元串中顯式指定字元集,修改 spring.datasource.url 為以下内容。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
重新運作該項目後再次通路,發現中文不再亂碼了。