//第一個異常
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.
意思是 mysqljdbc . driver被棄用了新的驅動類是“com.mysql.cjdbc.driver”。驅動程序通過SPI自動注冊,而手動加載類通常是不必要的,解決方案如下:
//解決方法
把com.mysql.jdbc.Driver 改為com.mysql.cj.jdbc.Driver 即可
//第二個異常
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time
提示系統時區出現錯誤,可以在mysql中執行命令:
set global time_zone='+8:00'
或者在數據庫驅動的url后加上serverTimezone=UTC參數
寫代碼的時候要注意,如果該參數是‘?’后的第一個,即
<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?serverTimezone=UTC </property>
是沒有問題的,但如果不是第一個,即
<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?characterEncoding=utf8&serverTimezone=UTC </property>
這種寫法是會報錯的,會提示The reference to entity “serverTimezone” must end with the ‘;’ delimiter.
運行后控制台也會出現
對實體 “serverTimezone” 的引用必須以 ‘;’ 分隔符結尾。
的錯誤提示。
將代碼改為
<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?characterEncoding=utf8&serverTimezone=UTC </property>
即可。在xml的配置文件中 ;要用 & 代替。