环境:IDEA、MYSQL5.5、Mybatis、Java
问题:Cause: java.sql.SQLException: The server time zone value '�й���ʱ��' 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
解决办法:
mysql> SET GLOBAL time_zone = '+8:00';
问题: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.
出错原因: db.driver=com.mysql.jdbc.Driver
解决办法:db.driver=com.mysql.cj.jdbc.Driver
问题:Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
出错原因:少了 "}"
问题:The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".
出错原因:观察全局配置文件内容,发现<typeAliases>元素在<environments>元素后,这就是问题所在。由问题描述可知,该xml文件的dtd约束了<configuration>根元素中允许包含<properties>、<settings>、<typeAliases>、<typeHandlers>、<objectFactory>、<objectWrapperFactory>、<reflectorFactory>、<plugins>、<environments>、<databaseIdProvider>、<mappers>这些子元素,但是注意!!!这些子元素的顺序不能乱,因为mybatis加载该配置文件时是按照该顺序依次进行解析的。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置文件信息 -->
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.user}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<typeAliases>
<typeAlias type="com.test.bean.People" alias="People"/>
</typeAliases>
<!-- 映射器 -->
<mappers>
<!-- 加载编写的SQL语句的文件 -->
<mapper resource="PeopleMapper.xml"/>
</mappers>
</configuration>
解决办法:将<typeAliases>元素的位置调整至<environments>元素前、<properties>元素后