Сначала я не использовал аннотацию @Param, это мой картограф. java
public void changeUserAuth(Integer userId,int identity);
, а это мой картограф. xml
<update id="changeUserAuth">
update user
<set>
<if test="identity != 0">identity = #{identity}</if>
</set>
<where>
<if test="userId != 0">userId = #{userId}</if>
</where>
</update>
тогда это работает правильно! Я продолжаю писать так, как показано ниже:
//this's mapper.java
public void updateUserStatus(Integer userId);
<!--this is mapper.xml>
<update id="changeUserAuth">
update user
set deleteFlag= true
<where>
<if test="userId != 0">userId = #{userId}</if>
</where>
</update>
однако, это выдало ошибку, сообщение:
Нет объекта для свойства с именем 'userId' в 'class. java .lang.Integer'
Я могу понять, что mybatis не может анализировать Integer, но почему это не ошибка, как при первом использовании, просто потому, что у меня есть Параметр типа int? Во втором методе я должен использовать аннотацию @Param