mybtis批量insert传入参数为list

1 如果传入参数只有一个且类型是List, 则在使用时,collection属性要必须指定为 list

例:

mapper.java

void insertYxlsList(List<TYzglHjglLshjYxls> yxlsList);

mapper.xml

  <insert id="insertYxlsList" parameterType="com.thunisoft.zyrygl.zyry.yzgl.hjgl.pojo.TYzglHjglLshjYxls">
        insert into {db.t_yzgl_hjgl_lshj_yxls} (c_bh, c_lshj_bh, c_lsbh, c_cjr_bh, d_cjsj, c_xgr_bh, d_zhxgsj)
        values 
        <foreach collection ="list" item="yxls" index= "index" separator =",">
        (#{yxls.CBh,jdbcType=VARCHAR}, #{yxls.CLshjBh,jdbcType=VARCHAR}, #{yxls.CLsbh,jdbcType=VARCHAR}, 
            #{yxls.CCjrBh,jdbcType=VARCHAR}, #{yxls.DCjsj,jdbcType=TIMESTAMP}, #{yxls.CXgrBh,jdbcType=VARCHAR}, 
            #{yxls.DZhxgsj,jdbcType=TIMESTAMP})
        </foreach >
    </insert>

 2,如果传入参数使用了@Param(value="value"),collection的属性必须为"value"值

例:

mapper.java

   void insertYxlsList(@Param("yxlsList")List<TYzglHjglLshjYxls> yxlsList);

mapper.xml

<insert id="insertYxlsList" parameterType="com.thunisoft.zyrygl.zyry.yzgl.hjgl.pojo.TYzglHjglLshjYxls">
        insert into {db.t_yzgl_hjgl_lshj_yxls} (c_bh, c_lshj_bh, c_lsbh, c_cjr_bh, d_cjsj, c_xgr_bh, d_zhxgsj)
        values 
        <foreach collection ="yxlsList" item="yxls" index= "index" separator =",">
        (#{yxls.CBh,jdbcType=VARCHAR}, #{yxls.CLshjBh,jdbcType=VARCHAR}, #{yxls.CLsbh,jdbcType=VARCHAR}, 
            #{yxls.CCjrBh,jdbcType=VARCHAR}, #{yxls.DCjsj,jdbcType=TIMESTAMP}, #{yxls.CXgrBh,jdbcType=VARCHAR}, 
            #{yxls.DZhxgsj,jdbcType=TIMESTAMP})
        </foreach >
    </insert>

 

posted @ 2018-05-23 18:02  面壁者罗辑,我是你的  阅读(1259)  评论(0编辑  收藏  举报