Error instantiating class java.lang.Integer with invalid types () or values (). Cause: java.lang.NoSuchMethodException: java.lang.Integer.()
1.背景:mybatis中collection的column传入多个参数值时,报错
2. 解决:
你一对多关系中的一实体类,对应的Mapper.xml中,sql方法的parameterType一定要是map形式
<select id="getMaskRuleByMaskStrategyId" parameterType="java.util.Map" resultMap="MaskRuleResultWithMaskTypeMap">
select * from t_capaa_maskstrategy_mask_strategy_conf a left join t_capaa_maskstrategy_mask_rule b on a.mask_rule_id = b.id
where mask_strategy_id = #{maskStrategyId,jdbcType=INTEGER}
</select>
解决:
一定要将parameterType 类型为map,否则,在collection
标签的column
中,你就无法使用{k1 = v1 ,k2 = v2}
的格式。