Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.postgresql.util.PSQLException: 栏位索引超过许可范围:2,栏位数:1

执行mybaits sql

    <delete id="delete4BatchesByLineCi" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
--             update VPN_FIREWALL set is_delete = true where where LINE_CI = #{item}
            delete from VPN_FIREWALL where LINE_CI = #{item, jdbcType=VARCHAR}
        </foreach>
    </delete>

提示错误:
 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: 
 Could not set parameters for mapping: ParameterMapping{property='__frch_item_0', mode=IN, javaType=class java.lang.String, jdbcType=VARCHAR, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. 
 Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType VARCHAR . 
 Try setting a different JdbcType for this parameter or a different configuration property.
 Cause: org.postgresql.util.PSQLException: 栏位索引超过许可范围:2,栏位数:1。\

根据网上类似问题解决方案,都不能解决此问题,对比在另一处 这种用法没有问题,删除注释行 ,问题解决。

--update VPN_FIREWALL set is_delete = true where where LINE_CI = #{item}
posted @ 2019-01-14 15:11  A.ArmStrong  阅读(17126)  评论(2编辑  收藏  举报