MyBatis之OracleMysql批量插入

Posted 忧臣解读

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis之OracleMysql批量插入相关的知识,希望对你有一定的参考价值。

Mybatis中Dao层

public interface UsersMapper {
    public void insertEntitys(List<UserEntity> users);
}

Oracle中批量插入

<insert id="insertEntitys" parameterType="list" useGeneratedKeys="false">
  INSERT INTO tab_user(id,name)
    select cd.* from(
    <foreach collection="list" item="item" index="index"  close=")" open="(" separator="union">
        select
       #{item.id,jdbcType=VARCHAR},
       #{item.name,jdbcType=VARCHAR}
        from dual
    </foreach>
    ) cd
</insert>

mysql中批量插入

<insert id="insertEntitys" parameterType="list"> 
    insert into tab_user(id,name) values  
    <foreach collection="list"item="item" index="index"separator="," >  
       (
          #{item.id,jdbcType=VARCHAR},      
          #{item.name,jdbcType=VARCHAR}
        )
    </foreach>  
</insert>

以上是关于MyBatis之OracleMysql批量插入的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 实现批量插入和批量删除源码实例

Mybatis之foreach批量插入

Java之MyBatis 批量插入数据,两种方式(注解,XML)

Java之MyBatis 批量插入数据,两种方式(注解,XML)

mybatis动态sql之使用foreach进行批量插入的两种方式

Mybatis之MySql批量insert后返回主键