maven中配置mybatis运行时遇到的报错问题

前言:笔记是参考B站up主遇见狂神说,图片、代码都是哦。因为最近特别喜欢他教的课程,所以就一边跟着学习,一边在blog写笔记~(图片、代码来源狂神说Java,侵权必删!)
狂神说Java学习路线B站网站:https://www.bilibili.com/read/cv5702420

最近在学习mybatis中运行时遇到的一些问题,运行测试代码的时候报了很多错也并没有将xml导出生成。

报错1:

org.apache.ibatis.binding.BindingException: Type interface com.pm.dao.UserDao is not known to the MapperRegistry.

maven中配置mybatis运行时遇到的报错问题_第1张图片

原因:

mapper.xml没有注册到核心配置文件中

解决:

在mybatis-config.xml中新增(路径设置自己的路径)

    <mappers>
        <mapper resource="com/pm/dao/UserMapper.xml"/>
    mappers>

maven中配置mybatis运行时遇到的报错问题_第2张图片

报错2:

Caused by: org.apache.ibatis.exceptions.PersistenceException:
###Error building SqlSession.
###The error may exist in com/pm/dao/UserMapper.xml
###Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/pm/dao/UserMapper.xml

maven中配置mybatis运行时遇到的报错问题_第3张图片

原因:

由于maven他的约定大于配置,会遇到无法导出或者无法生效的问题

解决:

在pom.xml文件中添加下面代码

    <build>
        <resources>
            <resource>
                <directory>src/main/resourcesdirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
        resources>
    build>

maven中配置mybatis运行时遇到的报错问题_第4张图片

报错3:

###Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

maven中配置mybatis运行时遇到的报错问题_第5张图片

原因:

出现这种问题是因为接口的配置文件中出现了注释,导致乱码。

解决:

在pom.xml文件中配置下面代码

    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    properties>

maven中配置mybatis运行时遇到的报错问题_第6张图片

报错4:

###org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 1,060 milliseconds ago. The last packet sent successfully to the server was 1,039 milliseconds ago.
The error may exist in com/ckm/dao/UserMapper.xml
The error may involve com.ckm.dao.UserDao.getUserList
The error occurred while executing a query
Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

maven中配置mybatis运行时遇到的报错问题_第7张图片

解决:

删除suerSSL=true或将true改成false即可。

maven中配置mybatis运行时遇到的报错问题_第8张图片

将以上问题解决后重新运行测试代码,代码运行成功,说明映射没有说明问题了,也查到了数据。

maven中配置mybatis运行时遇到的报错问题_第9张图片

同时也可以看到我们的xml文件也导出了

maven中配置mybatis运行时遇到的报错问题_第10张图片

mybatis中可能遇到的问题:

1、配置文件没有注册

2、绑定接口错误

3、放回类型不对

4、方法名不对

5、maven导出问题

你可能感兴趣的:(报错问题解决,mybatis,java,maven,xml,bug)