​

使用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>