前言
有一个新需求,我们需要批量插入数据到数据库中,但是有些数据可能是空的,需要判断。在数据库中,如果要插入一条数据,只需要insert就可以了,如果要插入多条呢?同样很简单,如我们要从用户表中插入两条数据,1,张三;2,李四。数据库的字段就是一个简单的id,name。我们会使用insert into user(id,name) values (1,'张三'),(2,'李四');同理,那现在要使用mybatis呢,用相同的方式即可插入。
实现方式
主要是在定义的mapper.xml中:
<insert id="insert" parameterType="java.util.List">
insert into user (id,name) values
<foreach collection="list" item="item" separator=",">
(
<if test="null != item.id != ''">
#{item.id},
</if>
<if test="null != item.name != ''">
#{item.name},
</if>
)
</foreach>
</insert>
总结
多看文档多总结。