今天使用mybatis执行SQL语句时报了这样一个错
java.lang.UnsupportedOperationException
mybatis配置如下:
<select id="queryModelInfoAuditMattersByCode" resultType="java.util.List">
SELECT `name` FROM `ldp_info_trade` WHERE `code` in
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
mapper层代码如下:
public List<String> queryModelInfoAuditMattersByCode(String[] auditMatterCode);
mapper层接收使用List<>接收,在mybatis配置中,resultType=”java.util.List”,返回类型是集合,这就会引起错误,应该返回mapper层接收list中的元素类型。
改正如下:
<select id="queryModelInfoAuditMattersByCode" resultType="java.lang.String">
SELECT `name` FROM `ldp_info_trade` WHERE `code` in
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
切记,resultType返回的是集合中的元素类型,而不是集合本身。