mybatis foreach sql语句

今天遇到了一个需要批量插入数据的问题,之前在Java逻辑里面通过循环执行单个插入来完成批量插入数据,但是不停的建立数据库连接比较耗费性能,于是通过foreach来批量插入数据,根据MySQL的批量插入语句:
insert into table (colums) value((values),(values),(values));
所以foreach只要循环生成values就可以了,话不多说先贴代码:

<insert id="insTeamUsers" parameterType="team" >
		insert into teamUsers(TeamId,UserId) values
		<foreach collection="userId" item="item" index="index" separator=",">
			(#{id},#{item})
		</foreach>
	</insert>
/**
	 * 插入小组用户数据
	 * teamUsers表
	 * @param team
	 */
	void insTeamUsers(Team team);

实体类:

private String id;
	//小组名
	private String teamName;
	//班级id
	private String classId;
	//用户id
	private List<String> userId;
	public Team(String id,String teamName,String classId,List<String> userId) {
		this.id= id;
		this.teamName = teamName;
		this.classId = classId;
		this.userId = userId;
	}

首先感谢这位大佬的无私奉献
foreach属性详解

猜你喜欢

转载自blog.csdn.net/qq_37225699/article/details/83184818