使用mybatis传入参数,如果在mappin.xml中使用<if>标签判断该参数是否为空,通常会报以上异常,解决方法:在接口中该方法的参数前加上@Param("参数名")注解,即可
接口:
public interface UserMapper {
//根据名称查询用户
List<MAP> queryUserByName(@Param("name")String name);
}
mapping.xml:
<mapper namespace="com.mybatis.test.dao.UserMapper">
<select id="queryUserByName" parameterType="String" resultType="java.util.HashMap">
select
t_id as id,
t_name as name,
t_password as password
from mybatis_user
where 1=1
<if test="name != null">
and t_name=#{name}
</if>
order by t_id
</select>
</mapper>