三种解决方法:
第一种:
你可以发现打包的时候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