在使用Oracle数据库,批量插入语句与Mysql不同,Mysql的批量插入语句在Oracle中不适应,这里主要记录一下Oracle的批量插入语句应该怎么写。

接口传参也需要是list类型。

int insertGC51(@Param("data") List<GC51DTO> data);

XML代码如下。

  <insert id="insertGC51">
    insert into gc51(
    AGC156,
    AAC001,
    AGB020,
    AGE655,
    AAE100
    )
    <foreach collection="data" separator="UNION ALL" item="item">
      select
      #{item.agc156,jdbcType=VARCHAR} agc156,
      #{item.aac001,jdbcType=VARCHAR} aac001,
      #{item.agb020,jdbcType=VARCHAR} agb020,
      #{item.age655,jdbcType=VARCHAR} age655,
      #{item.aae100,jdbcType=VARCHAR} aae100
      from dual
    </foreach>
  </insert>

这样的sql类似表迁移,Oracle还有其他的批量插入,但需要额外的配置,这个不需要,比较简单。

Logo

一站式 AI 云服务平台

更多推荐