Mybatis列表批量插入
关于mybatis 批量插入。
因为我用的MySql,支持数据库批量insert
所以只要配置useGeneratedKeys和keyProperty就好,简单配置如果
<insert id="insertTermList" useGeneratedKeys="true" keyProperty="id">
INSERT INTO term ( term.user_id,
term.`name`)
VALUES
<foreach collection="list" item="item" separator=",">
(#{userId},#{item.name})
</foreach>
</insert>
如果要插入的同时返回自增主键的id
就要注意配置dao 的mapper接口和 foreach
的collection
。
mapper
接口要写成 list
// 这里一定要写成list
int insertTermList(@Param("list")List<Term> list,
@Param("userId")String userId);
在 foreach 中的 collection 中一定要写成list 。
参考:
http://chenzhou123520.iteye.com/blog/1583407/
http://blog.csdn.net/u014336799/article/details/52023887