Mybatis的批量上传
mybatis提供了批量上传的方法,其实只需要在xml中配置sql语句即可,我们直接来看实现:
<insert id="insertlist" parameterType="java.util.List"> insert into rfid_raw_eri (tid, bzhh, bzxh) <foreach collection="list" item="bean" index="index" separator="union all"> ( select #{bean.tid,jdbcType=VARCHAR}, #{bean.bzhh,jdbcType=VARCHAR}, #{bean.bzxh,jdbcType=VARCHAR} from dual) /foreach> </insert>
如果需要oracle的sequence自动生成主键的话,需要稍作改动,实现如下:
<insert id="insertlist" parameterType="java.util.List"> insert into rfid_raw_eri_inventory (xh, bzhh, bzxh, rkdh, zt) SELECT SEQ_TEST.NEXTVAL, A.* FROM( <foreach collection="list" item="bean" index="index" separator="union all"> ( select #{bean.bzhh,jdbcType=VARCHAR}, #{bean.bzxh,jdbcType=VARCHAR}, #{bean.rkdh,jdbcType=VARCHAR}, 1 from dual) </foreach> ) A </insert>