阿尔萨斯的霜之哀伤 2022-05-19 00:05 采纳率: 70%
浏览 24
已结题

MyBatis使用foreach标签做批处理

MyBatis连接MySql数据库,使用注解做批处理时,代码如下:

@Insert({ "<scrpit>",
            "insert into ${tableName} (stockCode,tdate,openPrice,highPrice,"
                    + "lowPrice,closingPrice,increase,amplitude,amount,tvalue,turnoverRate) values",
            "<foreach collection='list' open='(' item='dayKInfo' index='index' separator=',' close=')'>",
            "(#{dayKInfo.stockCode},#{dayKInfo.tdate},#{dayKInfo.openPrice},#{dayKInfo.highPrice},"
                    + "#{dayKInfo.lowPrice},#{dayKInfo.closingPrice},#{dayKInfo.increase},#{dayKInfo.amplitude},"
                    + "#{dayKInfo.amount},#{dayKInfo.tvalue},#{dayKInfo.turnoverRate})",
            "</foreach>", "</script>" })
    public int addBatch(@Param("tableName") String tableName, @Param("list") List<DayKInfo> lists);

报错:Parameter 'dayKInfo' not found
这是什么情况?到底哪里写错了?

  • 写回答

1条回答 默认 最新

  • qq_25376897 2022-05-19 09:00
    关注
    
    "<foreach collection='list' open='(' item='dayKInfo' index='index' separator=',' close=')'>"
    

    把里面的open和close去掉

    "<foreach collection='list' item='dayKInfo' index='index' separator=','>"
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月27日
  • 已采纳回答 5月19日
  • 创建了问题 5月19日