一、oracle批量插入

 <insert id="save" parameterType="java.util.List">
 
         insert into student
         (name,age)

         <foreach collection="list" item="item" index="index" separator="union all">
             (
             select
             #{item.name,jdbcType=VARCHAR}, #{item.age,jdbcType=INTEGER}
        from dual
) </foreach> </insert>

二、mysql批量插入

  <insert id="save" parameterType="java.util.List">
  
          insert into student
          (name,age)
       values
          <foreach collection="list" item="item" index="index" separator="," close=";">
             #{item.name,jdbcType=VARCHAR}, #{item.age,jdbcType=INTEGER}
         </foreach>
 </insert>

总结:

  1、oracle中没有values关键字

  2、oracle的foreach中的separator值是UNION ALL ,mysql的foreach中的separator值是逗号

  3、oracle的foreach中的语句需要(select ...from dual)包裹。(括号可以直接加在这里,也可以加在foreach中,open="(" close=")"

相关文章:

  • 2021-06-19
  • 2021-10-31
  • 2021-06-10
  • 2021-07-30
  • 2021-07-28
  • 2022-12-23
  • 2021-09-09
  • 2021-06-29
猜你喜欢
  • 2021-07-23
  • 2022-12-23
  • 2021-06-11
  • 2021-05-26
  • 2022-12-23
  • 2022-02-15
  • 2021-11-27
相关资源
相似解决方案