spring-boot項目 配置MYSQL驅動java
maven pom文件中增長依賴mysql
<!-- MYSQL驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
在application.properties中加入配置(注:個人密碼數據庫密碼是空)spring
#MYSQL連接 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=
在數據庫中,新建一張表,放入一丟丟的數據(注意:設計表時,要改表的字符集,排序規則,不然亂碼)sql
在項目中DemoApplication啓動類中增長如下代碼數據庫
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args); JdbcTemplate jdbcTemplate = context.getBean(JdbcTemplate.class); List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM student"); System.out.println(result); } }
從新啓動程序服務器
報錯1:app
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
正在加載類「com.mysql.jdbc.driver」。這已被棄用。新的驅動程序類是'com.mysql.cj.jdbc.driver'。驅動程序經過SPI自動註冊,一般不須要手動加載驅動程序類。
報錯緣由:mysql5用的驅動url是com.mysql.jdbc.Driver,mysql6之後用的是com.mysql.cj.jdbc.Driver。版本不匹配便會報驅動類已過期的錯誤。maven
解決方案:更改MySQL的驅動配置(注:如下代碼標紅部分)spring-boot
#MYSQL連接 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=
從新啓動:url
報錯2
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone.
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a
more specifc time zone value if you want to utilize time zone support.
java.sql.sqlException:服務器時區值「」沒法識別或表明多個時區。若是要利用時區支持,必須配置服務器或JDBC驅動程序(經過ServerTimeZone配置屬性),以使用更具體的時區值。
錯誤緣由:在MYSQL6之後,要須要指定時區serverTimezone。
解決方案:在數據庫鏈接後增長服務時區,時區有不少,能夠根據本身的須要自行配置
#MYSQL連接 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=
從新啓動後,白淺女神已經被查詢出來打印在控制檯了。
我的筆記,僅供參考,若有問題,請指正。