MyBatis循环插⼊List集合中的数据--foreachinrtList
MyBatis 循环插⼊List数据集合 -- foreach inrt List
⾸先看看常规的Mybatis循环插⼊List集合中的数据的持久层代码,看看能发现哪些东西;
1、MyBatis(数据持久层)代码:
<inrt id="aaa" parameterType="ity.urEntity">
inrt into table_name (id, name, gender, age, addr)
values
<foreach collection="list" item="item" parator=",">
(
#{item.id,jdbcType=VARCHAR},
#{item.name,jdbcType=VARCHAR},
#{der,jdbcType=VARCHAR},
#{item.age,jdbcType=INTEGER},
#{item.addr,jdbcType=VARCHAR}
世界第一大桥)
</foreach>
枇杷英语</inrt>
从代码中我们不难看出来这么⼏个要素:约书
洛伍德学校
SQL 的命名 id,⽬的是什么就不必说了;
SQL 传⼊的参数是⼀个实体对象(urEntity),这个对象是对应数据表的,需要作为在 SQL 的 parameterType 的参数;
foreach 的书写格式,此格式如此写即可,下⾯对其中的元素解释⼀下:
(1) collection :是指传⼊的 urEntity 对象集合是那种集合,⼀般都是List,不过也要看具体业务情况;
(2) item :是⼀个⾃命名的元素,意思是命名⼀个对象(x)作为此元素的参数,并且这个对象(x)将作为每次循环取出的 urEntity 对象来使⽤,从后续的代码中也能看出来⼤概(item.id);
(3) #{item.id,jdbcType=VARCHAR} : item 既是指循环到的某urEntity 对象,从中取出此对象的某⼀项元素数据
(item.id),另外,这个元素数据的名称⼀定要和实体对象的元素名对应的上,千万不要将其作为数据表的字段名
了,jdbcType=VARCHAR 是针对于此实体对象的元素对应的数据表中此字段的字段类型的,所以千万不要搞混了;
2、实体对象urEntity
直接上代码了,就不解释什么了;
@Data
@TableName("table_name")
@ApiModel(value ="⽤户信息", description ="⽤户信息") public class BtTenderDocumentLibrary {
private static final long rialVersionUID =1L;
@ApiModelProperty(value ="主键id")
private String id;
@ApiModelProperty(value ="姓名")民工维权
private String name;
@ApiModelProperty(value ="性别")
许昌学院图书馆private String gender;
@ApiModelProperty(value ="年龄")
private Int age;
@ApiModelProperty(value ="居住地址")
private String addr;刑错
}
幼教玩具3、数据表
上⽂已有了实体对象的代码,数据表就不⽤展⽰了;