mybtis批量insert传入参数为list
Posted 面壁者罗辑,我是你的破壁人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于mybtis批量insert传入参数为list的主要内容,如果未能解决你的问题,请参考以下文章