修复BannerMapper问题说明.md 2.1 KB

修复 BannerMapper 问题说明

🔴 问题描述

错误信息:

加载分组失败:查询失败: Invalid bound statement (not found): com.yu.book.admin.mapper.BannerMapper.selectGroups

🔍 问题原因

MyBatis 配置中的 mapper-locations 只配置为 classpath:mapper/*.xml,这只能扫描 mapper/ 目录下的 XML 文件,无法扫描子目录 mapper/admin/ 中的 BannerMapper.xml 文件。

✅ 已修复

已将 application.properties 中的配置修改为:

mybatis.mapper-locations=classpath:mapper/**/*.xml

这样就可以扫描所有子目录的 XML 文件了。

🚀 解决步骤

1. 重启后端服务

重要:必须重启后端服务,新配置才能生效!

  1. 停止当前运行的后端服务(如果在运行)
  2. 重新启动 BookApplication.java
  3. 等待服务启动完成(看到 "Started BookApplication" 日志)

2. 验证修复

  1. 打开浏览器,访问后台管理系统:http://localhost:8002/pages/banners.html
  2. 点击"轮播图管理"页面
  3. 应该能够正常加载分组列表,不再出现错误

3. 如果仍有问题

检查后端日志

查看后端启动日志,确认:

  • MyBatis 是否成功扫描到 BannerMapper.xml
  • 是否有其他错误信息

检查文件路径

确认文件存在:

  • book/src/main/resources/mapper/admin/BannerMapper.xml
  • book/src/main/java/com/yu/book/admin/mapper/BannerMapper.java

清理并重新编译

cd book
mvn clean compile

然后重新启动后端服务。

📝 相关文件

  • book/src/main/resources/application.properties - MyBatis 配置
  • book/src/main/resources/mapper/admin/BannerMapper.xml - BannerMapper XML 映射文件
  • book/src/main/java/com/yu/book/admin/mapper/BannerMapper.java - BannerMapper 接口

🎯 预期结果

修复后:

  • ✅ 后台管理系统可以正常加载轮播图分组
  • ✅ 可以正常创建、更新、删除轮播图分组
  • ✅ 可以正常管理轮播图
  • ✅ 不再出现 "Invalid bound statement (not found)" 错误