日期:2014-05-17  浏览次数:20745 次

请教mysql spring mvc +mybatis中批量插入的问题
dao实现文件中函数:
@Override
public int insertContentList(
List<PubFieldContentEntity> list) {
Map<String, Object> params = createMap();
    params.put("list", list);
return this.insert("insertContentList", params);
}


对应的mapper.xml文件中


<!-- 批量插入 -->
<insert  id="insertContentList" useGeneratedKeys="true" keyProperty="id">
<![CDATA[
insert into tableContent(pubId,integrant,ownContentName,dateLine,pubFieldContentName,suffix,modifyTime,deleteTime,compareType,pubContentIndex,multiple,isInput,pubFieldTitle) values
 <foreach collection="list" item="item" index="index" separator=",">  
(#{item.pubId},#{item.integrant},#{item.ownContentName},unix_timestamp(),#{item.pubFieldContentName},#{item.suffix},unix_timestamp(),#{item.deleteTime},#{item.compareType},#{item.pubContentIndex},#{item.multiple},#{item.isInput},#{item.pubFieldTitle})
</foreach>  
]]> 
</insert>

执行后一直提示在 '<foreach collection="list" item="item" index="index" separator=","> (null,n'
附近出错。但是不知道为什么item.pubId变成了null了,请教一下高手上面的脚本错在哪里?谢谢。

------解决方案--------------------
确定插入之前 pubId 不是 null 吗
------解决方案--------------------
<insert  id="insertContentList" useGeneratedKeys="true" keyProperty="id">这个有问题,输入参数没加进去。paremeterclass = "com...class"