记一次mybatis的坑
前几天代码突然之间报了一个问题,直接抛出异常
nested exception is org.apache.ibatis.binding.BindingException: Parameter 'userId' not found.
说一下我项目中使用的说mybatis作为持久化框架的。
出现了问题后,就赶快去解决,字面的含义是没有找到userId的属性,然后我想可能是实体类中没有这个属性,然后去看实体类是否有该属性,看了以后实体类中有这个属性,排除了这个错误;
然后又想是否是字段拼写错误,使用的是@Param注解进行传参的(注意@Param括号中的值是要和mapper.xml中的值一一对应的,否则是找不到的),然后看了一下,字段拼写正确,我也想我应该不会犯这么低级的错误;
例如我们的mapper文件中这样写到
User getUser(@Param(“userId”)String userId); 然后在mapper.xml中的查询语句中是要使用userId去匹配的,否则是会报错,找不到该属性。
然后又试一下一下,将注解去掉,重新导入一次,咦,正确了,好高兴。
然后看了一下确定了最后的错误的地方是在哪里,原来是导包的时候出现了问题。
原来在SpringBoot中@Param是有两个注解的,
一个是spring的org.springframework.data.repository.query.Param,
一个是mybatis的org.apache.ibatis.annotations.Param;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了