mybatis注解批量插入数据

本文介绍了如何使用MyBatis的注解来批量插入数据,特别是针对用户角色关系表的插入操作。通过@Insert注解配合<foreach>标签,实现了根据用户ID和角色ID数组动态生成SQL语句,从而批量添加用户角色关联记录。注意@Param的使用,确保参数能够正确引用,并且在编写SQL时要仔细检查避免错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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语句不要写错了,细心点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值