如下異常:
nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='userName', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).(String)
對應Mapper.xml文件如下:
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
<!--<include refid="selectUserVo"/>-->
/*where u.user_name = #{userName}*/
select u.user_id, u.dept_id, u.user_name, u.nick_name,
IFNULL(zu.nick_name,'') as screen_name,
IFNULL(zu.nick_name_update_count,'') as update_count,
u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join zbkf_user zu on u.user_name = zu.job_no
where u.user_name = #{userName}
</select>
異常原因是:mapper.xml中的註釋,去掉即可。