欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结

程序员文章站 2024-03-14 16:53:22
...

今天编写了一个入门的Mybatis程序,就是通过Mybatis的一系列配置来实现Mysql数据库的查询。在编写的过程中遇到了一系列的问题,估计其他入门的同学也会遇到相同或者类似的问题。下面是我个人的运行过程问题描述仅供参考:

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

The processing instruction target matching “[xX][mM][lL]” is not allowed
Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结

解决方法:这个问题主要是在复制代码过程中出现代码的起始行没有置于编辑行的第一行或第一列所出现的。换句话说就是起始处:代码首行必须处于第一行第一列。正确的格式实例:

Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结

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 的配置方式。但是发现运行时还是报错如下:
Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结
在编辑器里面提示这个信息的红叉:
The reference to entity “characterEncoding” must end with the ‘;’ delimiter
解决方法:
我们的语句为:

这里报错时因为在xml语句中需要对以下特定字符进行转义:
Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结
所以正确写法:

<property name="url" value="jdbc:mysql://localhost:3306/mybatis_test?serverTimezone=UTC&***amp;***characterEncoding=utf-8" /> 
                                                                                At 2018-06-18 14:04