万维网游活动资讯门户

mybatis中@Param注解中遇到的问题——一定要注意import哪个包
2025-12-18 09:14:12

在使用IDEA开发的mybatis查询数据库时,遇到了很奇怪的问题,当查询参数只有一个时,可以正常查到结果,但是如果查询参数有两个,则会抛异常。

mapper.java内容如下

mapper.xml查询如下

查询findByPhoneA时,系统异常如下:

从网上找了一下,有人说把参数名改成arg0,arg1就可以,实际运行了一下,确实可行,但是这不是解决问题的办法。后来请教了一个高手,他说有可能是导包的问题,回过头查看Mapper.java文件,发现问题确实出在这里。

因为开发环境用的是IDEA,在导包时,他默认第一个导入的包如下图,当时没有查看就回车继续了。更换成第二个包,以后上述问题解决。也就是要导入。

import org.apache.ibatis.annotations.Param;

原因分析:因为导入了错误的包,所以在编译时没有识别注解,系统自动反射了参数的个数,这也就是为啥arg0,arg1可以正常运行。