问题出现原因: 没有发现dao层的接口中方法所对应的*Mapper.xml文件
解决方案一
如果映射文件*Mapper.xml放置在dao层中,因为spring不会自动扫描接口中的映射文件,所以导致映射文件没有被扫描到,导致问题的出现。
可以通过配置文件解决,在root项目(即根项目)的pom文件中添加,即在pom.xml中 节点添加如下配置,用于加载资源:
当然也可以放在自己创建的module(模块)中,这个配置只对自己的模块生效
<build>
<resources>
<!-- 扫描src/main/java下所有xx.xml文件 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!-- 扫描resources下所有资源 -->
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
解决方案二
在application.yml中对mybatis-plus的进行配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.atguigu.entities
其中的mapper-locations这一行代码就是配置的位置,这种配置方式只能对放在resource下的路径有用,如下图所示: