mybatis注解批量插入数据
先上代码
需求:现在有用户表,角色表,关系表,方法传来了用户的id(userId),和用户所拥有哪些角色的id号,添加到他们两的关系表(sys_user_role)
@Insert({
"<script>" +
"insert into sys_user_role " +
"values" +
"<foreach collection='roleIds' item='roleId' separator=','>" +
"(${userId},${roleId})" +
"</foreach>" +
"</script>"
})
void saveByUserIdInsertSys_ur(@Param("userId") int userId, @Param("roleIds") Long[] roleIds);
解析:因为一个用户有许多角色,所以需要循环添加
代码理解
1.因为有多个参数需要写@Param,不然引用的地方都会找不到,而且写这个注解可以用$符号
2.因为有多个参数collection本来要写参数类型,但写在要写参数,因为他现在有二个参数
3.sql语句不要写错了,细心点