解决mybatis报错org.apache.ibatis.binding.BindingException

三种解决方法:

第一种:
你可以发现打包的时候target下没有xml文件,所以直接复制xml到target中对于的目录即可

第二种:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。

Mapper接口开发需要遵循以下规范:

Mapper.xml文件中的namespace与mapper接口的类路径相同。
Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
然后我自己报出这个错,找了一下午,各种对名字,百度的方法都不管用,最终发现了问题所在原因是----- resources 底下xml和mapper接口的路径不同,这里我创建的包名是com.bwai.mapper,它在这里不是一级一级的创建文件夹而是创建了一个com.bwai.mapper名字的一个包,所以需要com/bwai/mapper 这样创建

在这里插入图片描述

第三种:
dao层编译后只有class文件,没有mapper.xml,因为maven工程在默认情况下src/main/java目录下的所有资源文件是不发布到target目录下的,
在对于的pom.xml文件中配置:

<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

2、在Spring Boot配置文件中添加配置(这里的路径改成自己的)

#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/cxy/edu/mapper/xml/*.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值