首页 > 技术文章 > mybatis3参数问题

gxl666 2019-08-13 10:39 原文

对于mybatis中,参数问题,遇到问题解决如下,做个记录:

假如一个dao层接口方法定义为:T getRecord(String eqId, String typeId, String flag); 测试时会报错误信息:

Parameter 'id' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]或者Parameter '0' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2];

这个是由于使用多个参数后,mybatis3不能识别这样的参数。可以将方法参数加上@Param注解。变成如下模式:

T getRecord(@Param("eqId") String eqId, @Param("typeId") String typeId, @Param("flag") String flag);

当然,也可以在mapper.xml中使用#{arg0},{arg1}等来代替#{flag}等,或者在传参的时候直接用对象进行传参。

推荐阅读