Mybatis批量插入的操作方法

Mapper的写法

param标签要标注参数名,否则无法映射到mapper.xml文件
long insertMapBatch(@Param("mapDetailsList")List<MapDetails> mapDetailsList);

mapper.xml标签的写法

<insert id="insertMapBatch" parameterType="java.util.List"
          useGeneratedKeys="false">
    insert into map_details (id, width, height,rota)
    values
    <foreach collection="mapDetailsList" item="mapDetails" index="index"
             separator=",">
      (
      #{ mapDetails.id,jdbcType=VARCHAR}, #{ mapDetails.createTime,jdbcType=TIMESTAMP},  #{ mapDetails.width,jdbcType=DECIMAL}, #{ mapDetails.height,jdbcType=DECIMAL},
      #{ mapDetails.rota,jdbcType=DECIMAL}
      )
    </foreach>
  </insert>

标签的userGeneratedKeys属性是用于表示是否使用JDBC的getGeneratedKeys方法获取主键并复制到keyProperty设置的领域模型中,foreach标签是遍历循环的作用,collection属性用于映射mapper方法中的参数名,item属性的值是集合的实体类名,index下标,separator属性是分隔字符

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页