MyBatis多参数

在项目中碰到了如下问题:
图片说明

错误信息是:无法识别参数。
该错误时由于MyBatis传入多个参数时,出现的问题。在Mapper接口中加入@Param注解即可解决。
实际上@Param这个最后会被Mabatis封装为map类型的。

图片说明

  当不使用 @Param 标签时,MyBatis 是不认识哪个参数叫什么名字的。因此进行标记后,MyBatis可以成功识别。通过查阅其他资料,发现MyBatis从3.1.4开始,其表达式支持按照参数的自然名称来匹配,如{userId}里的userId,是方法上的自然参数名,没有通过注解修饰。但是需要编译器要启用parameters选项,由于我自己的idea没有成功调出该选项,因此使用了@Param注解的方式,解决了无法识别参数的问题。

更新:原因是Mapper接口的注解是Mybatis的注解,改为Spring的@Repository即可

杂记 文章被收录于专栏

记录日常中碰到的一些疑难杂症

全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务