mybatis 批量插入数据,xml文件到底如何写呀 ?这里备注一下
1. 批量插入数据:batchInsert
mapper 代码:
java
package com.xxxx.mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface XXXXRepoMapper extends Mapper<XXXXRepo> {
void batchInsert(@Param("list") List<XXXXRepo> list);
}
mapper xml
XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xx.yy.mapper.XXXRepoMapper">
<resultMap id="BaseResultMap" type="com.xx.yy.XXXXRepo">
<id column="ID" jdbcType="INTEGER" property="id" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="parent_code" jdbcType="VARCHAR" property="parentCode" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="active_flag" jdbcType="TINYINT" property="activeFlag" />
<result column="creator" jdbcType="BIGINT" property="creator" />
<result column="modifier" jdbcType="BIGINT" property="modifier" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
</resultMap>
<sql id="table_name">
t_xxx_repo
</sql>
<sql id="Base_Column_List">
id,code,name,parent_code,type,active_flag,creator,modifier,create_time,modify_time
</sql>
<insert id="batchInsert" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
insert into <include refid="table_name"/>
(<include refid="Base_Column_List"/>) values
<foreach collection="list" index="index" item="item" separator=",">
(null,#{item.code,jdbcType=VARCHAR},#{item.name,jdbcType=VARCHAR},#{item.parentCode,jdbcType=VARCHAR},#{item.type,jdbcType=TINYINT},1,
#{item.creator,jdbcType=BIGINT},#{item.modifier,jdbcType=BIGINT},now(),now())
</foreach>
</insert>
</mapper>