## 這里主要說了4點(diǎn):
1.jar包要和安裝的mysql版本對(duì)應(yīng)
2.driverClass要用com.mysql.cj.jdbc.Driver
3.配置時(shí)區(qū)否則報(bào)錯(cuò)
4.多個(gè)配置項(xiàng)在xml以&分隔
現(xiàn)在mysql已經(jīng)發(fā)展到8.0+,用老版本的jar會(huì)報(bào)各種錯(cuò)堂鲤,
Unknown character set index for field '255' received from server.
原因是MySQL版本高碎节,mysql的jar版本低造成mysql與jar的編碼錯(cuò)亂引起的埃篓,可以到下面的地址去下載對(duì)應(yīng)的mysql版本一定要對(duì)應(yīng)才好哈
地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java
我的MYSQL是8.0版本
MYSQL 5.5 之前吼句, UTF8 編碼只支持1-3個(gè)字節(jié);從MYSQL5.5開始,可支持4個(gè)字節(jié)UTF編碼utf8mb4;
driverClassName也要改變
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
還要配置時(shí)區(qū)否則會(huì)報(bào)錯(cuò):
java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
這是由于數(shù)據(jù)庫和系統(tǒng)時(shí)區(qū)差異所造成的盼樟,在jdbc連接的url后面加上serverTimezone=GMT即可解決問題氢卡,如果需要使用gmt+8時(shí)區(qū),需要寫成GMT%2B8晨缴,否則會(huì)被解析為空译秦。
多個(gè)參數(shù)以u(píng)rl參數(shù)形式傳給服務(wù)器,在xml中&要用&代替
配置mysql driver以下面為例
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
? ? ? ? <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
? ? ? ? <property name="url" value="jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8"/>
? ? ? ? <!-- 改為你的地址即可 -->
? ? ? ? <property name="username" value="wzx"/>
? ? ? ? <property name="password" value="1024"/>
? ? </bean>