<>问题原因:数据库驱动mysql-connector-java8.0.16.jar的版本较高,这里采用8.0.16讲解
<>问题描述:正常来说在mybatis中写的数据库配置代码是这样的
<!-- 配置数据源相关属性和事务 --> <environments default="mysqlConn"> <!--
可以配置多个数据源环境,默认使用default中的值 --> <environment id="mysqlConn"> <!-- 使用jdbc的事务管理 -->
<transactionManager type="JDBC" /> <!-- 配置数据源,并使用自带数据库连接池 --> <dataSource type="
POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name
="url" value="jdbc:mysql://localhost:3306/testdb?characterEncoding=utf-8" /> <
property name="username" value="root" /> <property name="password" value="123"
/> </dataSource> </environment> </environments>
== 这里没有指定是哪个Timezone(时区),所以会报以下错误。==
The server time zone value '?й???????' is unrecognized or represents more than
onetime 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 utilizetime zone support.
<>解决办法:
*
com.mysql.jdbc.Driver替换为com.mysql.cj.jdbc.Driver
2.
jdbc:mysql://localhost:3306/testdb?characterEncoding=utf-8替换为
jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC
这里的UTC指的是东八区
<!-- 配置数据源相关属性和事务 --> <environments default="mysqlConn"> <!--
可以配置多个数据源环境,默认使用default中的值 --> <environment id="mysqlConn"> <!-- 使用jdbc的事务管理 -->
<transactionManager type="JDBC" /> <!-- 配置数据源,并使用自带数据库连接池 --> <dataSource type="
POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver" /> <property
name="url" value="jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC" /> <
property name="username" value="root" /> <property name="password" value="123"
/> </dataSource> </environment> </environments>
<>结果展示
没有报错了!
<>以上是本文所有内容,希望能帮到大家!!!