mybatis3参数问题
对于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}等,或者在传参的时候直接用对象进行传参。