Mybatis 异常: java.util.ArrayList and java.lang.String
今天在判断sql条件时用in查询,参数为list使用时报错 现在贴下代码 以便以后查阅。
解决方案 :在xml中,将if判断中 原来的 !=‘’换为 list.size>0
Mapper文件
List<AosSysUserVO> userMember(@Param(value = "userIdList") List<String> userIdList);
Service
List<AosSysUserVO> userMember(List<String> userId);
Impl
@Override
public List<AosSysUserVO> userMember(List<String> userId) {
List<AosSysUserVO> userMember = trainingRegisterGroupMapper.userMember(userId);
return userMember;
}
xml文件
<select id="userMember" resultMap="aosSysUserVO" parameterType="java.util.ArrayList">
SELECT
id_,
name_
FROM holisys.aos_sys_user
<where>
<if test="userIdList != null and userIdList.size > 0 ''">
id_ NOT IN
<foreach item="userIdList" index="index" collection="userIdList" open="("
separator="," close=")">
#{userIdList}
</foreach>
</if>
</where>
</select>