# 修复 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` 中的配置修改为: ```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` #### 清理并重新编译 ```bash 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)" 错误