飘飘丿渺渺
2021-08-07 18:07
采纳率: 100%
浏览 663

MERGE into使用问题? Parameter 'b' not found. Available parameters are [list, param1]

报错:
Servlet.service() for servlet [dispatcherServlet] in context with path [/likelong] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'b' not found. Available parameters are [list, param1]] with root cause

org.apache.ibatis.binding.BindingException: Parameter 'b' not found. Available parameters are [list, param1]
服务层代码部分结构:

 List<TSkuPlu> productPage = TSkuPluMapper.selectMyPageByOracle(pageNum,num,queryWrapper);
       Map map = baseMapper.findTest(productPage);

XML部分:

 <insert id="findTest"  parameterType="java.util.Map">
        MERGE into TB_PRODUCT A
        using
       ( select
            #{item.plucode} plucode,
            #{item.pluname} pluname            
            from TSKUPLU
        ) b
        ON (
        A.GOODS_ID=b.plucode
        )
        WHEN MATCHED THEN
        UPDATE SET
        A.NAME=b.pluname       
        WHEN NOT MATCHED THEN
        INSERT (A.GOODS_ID)
        VALUES (b.plucode)

    </insert>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • 飘飘丿渺渺 2021-08-19 14:45
    最佳回答

    问题解决了:
    严格来讲,我的格式是没有问题的。但是xml写错服务方。我有A-》B双方,我做的中间商。这个方法应该写到B的mapper里。新手错误啊,还是逻辑不清晰的问题。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题