Mybatis的入門配置最新JDBC8.0程序過程中出現的問題總結

今天編寫了一個入門的Mybatis程序,就是通過Mybatis的一系列配置來實現Mysql數據庫的查詢。在編寫的過程中遇到了一系列的問題,估計其他入門的同學也會遇到相同或者類似的問題。下面是我個人的運行過程問題描述僅供參考:

1、xml格式的配置文件爆紅×並提示如下信息:

The processing instruction target matching “[xX][mM][lL]” is not allowed
這裏寫圖片描述

解決方法:這個問題主要是在複製代碼過程中出現代碼的起始行沒有置於編輯行的第一行或第一列所出現的。換句話說就是起始處:代碼首行必須處於第一行第一列。正確的格式實例:

這裏寫圖片描述

2、使用最新jdbc8.0的連接驅動問題:

2.1、首先是在連接池信息配置過程中的數據庫驅動類名:

以往的jdbc驅動類名爲“com.mysql.jdbc.Driver”或“org.git.mm.mysql.Driver”但是現在來看這樣都是廢棄的,而是爲:“com.mysql.cj.jdbc.Driver”

2.2、最新的JDBC連接時候出現Time Zone問題如下:

Caused by: java.sql.SQLException: The server time zone value 'XXXXXXXXX' 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.  

解決:在錯誤信息中提示我們,要麼就是把自己的時區改變,要麼就是在配置JDBC連接信息時指定時區。我們當然首選都是後者。所以我們在配置JDBC的url時候,加上serverTimezone=UTC或GMT即可,另外,如果指定使用gmt+8時區,需要寫成GMT%2B8,否則可能報解析爲空的錯誤。

2.3、繼以上問題加上時區問題時,我們採用了:url=jdbc:mysql://localhost:3306/wangytest?serverTimezone=UTC&characterEncoding=utf-8 的配置方式。但是發現運行時還是報錯如下:
這裏寫圖片描述
在編輯器裏面提示這個信息的紅叉:
The reference to entity “characterEncoding” must end with the ‘;’ delimiter
解決方法:
我們的語句爲:

這裏報錯時因爲在xml語句中需要對以下特定字符進行轉義:
這裏寫圖片描述
所以正確寫法:

<property name="url" value="jdbc:mysql://localhost:3306/mybatis_test?serverTimezone=UTC&***amp;***characterEncoding=utf-8" /> 
                                                                                At 2018-06-18 14:04
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章