我发送给Apifox是http://localhost:9002/goods/getByUserName?name=张三 为什么会是500哪里错了?

{ "timestamp": "2025-10-02T11:04:25.374+0000", "status": 500, "error": "Internal Server Error", "message": "Invalid bound statement (not found): com.daqin.demo251001.mapper.UserMapper.getByUserName", "path": "/goods/getByUserName" }我发送给Apifox是http://localhost:9002/goods/getByUserName?name=张三 为什么会是500哪里错了?

错误分析

根据错误信息 `Invalid bound statement (not found): com.daqin.demo251001.mapper.UserMapper.getByUserName`,这是一个MyBatis绑定异常,表示找不到对应的SQL语句。

可能原因及解决方案

1. Mapper XML文件位置或命名问题

  • 确保 [UserMapper.xml](file://D:\SUM\代码\demo251001\target\classes\generator\mapper\UserMapper.xml) 文件位于正确目录:`src/main/resources/mapper/`

  • 文件名必须与Mapper接口名一致:[UserMapper.xml](file://D:\SUM\代码\demo251001\target\classes\generator\mapper\UserMapper.xml)

2. XML文件中缺少SQL定义

在 [UserMapper.xml](file://D:\SUM\代码\demo251001\target\classes\generator\mapper\UserMapper.xml) 中添加 [getByUserName](file://D:\SUM\代码\demo251001\src\main\java\com\daqin\demo251001\mapper\UserMapper.java#L16-L16) 方法对应的SQL语句:

```xml

<select id="getByUserName" parameterType="string" resultType="com.daqin.demo251001.vo.GoodsMsgVo">

SELECT * FROM user WHERE name = #{name}

</select>

```

3. 检查Mapper接口与XML的匹配

确保以下几点:

  • UserMapper\](file://D:\\SUM\\代码\\demo251001\\src\\main\\java\\com\\daqin\\demo251001\\mapper\\UserMapper.java#L14-L17) 接口中的 \[getByUserName\](file://D:\\SUM\\代码\\demo251001\\src\\main\\java\\com\\daqin\\demo251001\\mapper\\UserMapper.java#L16-L16) 方法签名与XML中定义一致

  • XML中 `<select>` 标签的 [id](file://D:\SUM\代码\demo251001\src\main\java\com\daqin\demo251001\domain\User.java#L14-L15) 属性值为 [getByUserName](file://D:\SUM\代码\demo251001\src\main\java\com\daqin\demo251001\mapper\UserMapper.java#L16-L16)

4. 检查MyBatis配置

确认 [application.yml](file://D:\SUM\代码\demo251001\src\main\resources\application.yml) 中的MyBatis配置正确:

```yaml

mybatis-plus:

mapper-locations: classpath:mapper/*.xml

```

完成以上检查和修改后重启应用,问题应该能够解决。

相关推荐
皮皮林5512 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河2 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程5 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅7 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者8 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺8 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart9 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP10 小时前
MyBatis-mybatis入门与增删改查
java
孟陬13 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端