mybatis批量(List里面多个实体对象)插入数据库

需求:
传入的参数是list集合,集合里面是多个实体对象,要将其依次插入到数据库中
代码实现:

<insert id="saveBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
    	insert into TABLE_NAME (NAME, TYPE, ID)
    	values
    	<foreach collection="list" item="item" index="index" separator=",">
            (
              #{item.name},
              #{item.type},
              #{item.id}
            )
        </foreach>
  	</insert>

使用标签:

foreach

可调标签属性:

  • collection : list | array | map //目前只试过list
  • item : list中每组对象(元素)别名,可随意自定义
  • index : 索引值,可自定义 separator : 拼接每组数据的分隔符,按需求确定,我这插入多个对象,用逗号分隔符
  • open : 语句拼接以什么符号开始,sql语句上的需要,比如我这里在foreach里面加了"(",就不需要加这个属性
  • close : 语句拼接以什么符号结束,sql语句上的需要,比如我这里在foreach里面加了")",就不需要加这个属性
  • #{item.name}: 这个item.name, item是自己设置的对象名,name是对象的属性

转换成Sql语句:

insert into table_name (id, type, name) values (1, boy, Amy), (2, girl, Ben)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章