Available parameters are [arg2, arg1, arg0, param3, param1, param2]
有如下定义的Mybatis多参数条件的参数查询,这样在select语句写,是错误的.
int checkEmailByUserId( String email,Integer userid);
<selectid="checkEmailByUserId"resultType="java.lang.Integer"parameterType="map">
select count(1)
from mmall_user
where email = #{email}
and id != #{userid}
</select>
解决方法1,在DAO的接口文件里,修改方法的参数如下,增加参数的注释
int checkEmailByUserId(@Param("email") String email,@Param("userid") Integer userid);
解决方法2,在select语句里修改参数如下,用arg0代表email,arg1代表userid
<select id="checkEmailByUserId" resultType="java.lang.Integer" parameterType="map">
select count(1)
from mmall_user
where email = #{arg0}and id != #{arg1}
</select>