我正在尝试向 Mybatis 中插入一个列表并得到以下错误:

org.apache.ibatis.binding.BindingException: Parameter '__frch_e_0' not found. Available parameters are [list] 

你能告诉我缺少什么吗?谢谢

DAO 接口(interface):

void saveErrorMessageList(List<ErrorMessage> emList); 

XML:

<insert id="saveErrorMessageList" parameterType="java.util.List"> 
        {call 
        declare 
            ID PLS_INTEGER; 
        begin 
        <foreach collection="list" item="e" index="index" > 
            SELECT SEQ_ERR_ID.NEXTVAL into ID FROM DUAL; 
 
            INSERT INTO ERR (ERR_ID, CREAT_TS,  
            MSG_CD, MSG_TXT) values (ID,CURRENT_TIMESTAMP,  
            #{e.code}, #{e.message}); 
        </foreach> 
        end 
        } 
    </insert> 

错误信息:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '__frch_e_0' not found. Available parameters are [list] 
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75) 
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371) 
    at com.sun.proxy.$Proxy11.insert(Unknown Source) 
    at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240) 
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51) 
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52) 
    at com.sun.proxy.$Proxy12.saveBeneErrorMessageList(Unknown Source) 
    at ... 
    ... 35 more 

请您参考如下方法:

  • 查询sql中的列名和bean字段名

  • 尝试更新mybatis版本。我用3.3.0的时候有这个错误,但是用3.4.1就可以了


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!