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
这是什么情况?到底哪里写错了?


"<foreach collection='list' open='(' item='dayKInfo' index='index' separator=',' close=')'>"

把里面的open和close去掉

"<foreach collection='list' item='dayKInfo' index='index' separator=','>"