mybatis mysql 插入多条记录

1045人浏览 / 0人评论 / 添加收藏

先复习一下单条/批量插入数据的sql语句怎么写:

单条插入数据的写法:

insert into table ([列名],[列名]) values ([列值],[列值])); 

或: 

insert into table values ([列值],[列值]));

示例:

insert into table (id, name,sex,address) values (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?)

mapper配置xml文件示例:

<!-- 在外部for循环调用1000次 -->
<insert id="insert" parameterType="com.xxp.mybatis.Person">
   insert into person (id, name,sex,address)
   values 
   (#{id,jdbcType=INTEGER},#{name,jdbcType=VARCHAR},
   #{sex,jdbcType=VARCHAR},#{address,jdbcType=VARCHAR})
</insert>

Mybatis插入多条数据,使用标签

<insert id="insertBatch" >
   insert into person ( <include refid="Base_Column_List" /> ) 
   values 
   <foreach collection="list" item="item" index="index" separator=",">
       (null,#{item.name},#{item.sex},#{item.address})
   </foreach>
</insert>

全部评论