# 在SpringBoot中連接MySQL - 使用Maven管理 ## 環境 wsl2-Ubuntu 22.04.1 LTS mysql - 8.0.32 jdk - jdk17 ### Step1.在Maven中的依賴 MySQL 先在maven的pom.xml加入以下標籤 ``` xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.2</version> //版本可依照所需更改 </parent> ``` 因為SpringBoot中提供父Maven來管理版本,因此不用提供version ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> ``` ### Step2.在SpringBoot的配置文件添加以下資訊 在SpringBoot的配置文件-Application.properties或yaml裡寫入以下連結所需資訊 ```yaml spring: datasource: username: {mysql_username} password: {mysql_password} driver-class-name: com.mysql.cj.jdbc.Driver (mysql 8之後) url: jdbc:mysql://localhost:3306/{DB_name}?serverTimezone=GMT%2B8&useSSL=false ``` ### Step3.將Linux下的mysql啟動並寫測試 這邊遇到了mysql連接不上問題(密碼錯誤),解決辦法如下 1.將mysql中 mysql 的user表中User=root的plugin改為mysql_native_password ```sql update user set plugin='mysql_native_password' where User = 'root'; 然後跑 => flush privileges; ``` 2.重新設定密碼 * 用 mysql -u root -p 登入 * 改成新密碼:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘{newPassword}’; 3.Test ```java @Test public void test(){ int n = jdbcTemplate.update("insert into testTable values(?, ?)", 9, "Dan"); System.out.println(n); } ```