ssm+mysql之关于mysql的高版本配置简述
## 这里主要说了4点:
1.jar包要和安装的mysql版本对应
2.driverClass要用com.mysql.cj.jdbc.Driver
3.配置时区否则报错
4.多个配置项在xml以&分隔
现在mysql已经发展到8.0+,用老版本的jar会报各种错,
Unknown character set index for field '255' received from server.
原因是MySQL版本高,mysql的jar版本低造成mysql与jar的编码错乱引起的,可以到下面的地址去下载对应的mysql版本一定要对应才好哈
地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java
我的MYSQL是8.0版本
MYSQL 5.5 之前, UTF8 编码只支持1-3个字节;从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4;
driverClassName也要改变
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
还要配置时区否则会报错:
java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。
多个参数以url参数形式传给服务器,在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>