Mybatis批量插入
文章首发于:clawhub.club
mybatis是通过foreach标签实现批量插入。在构建 IN 条件语句的时候,遍历集合。
foreach标签
官方示例
1 | <select id="selectPostIn" resultType="domain.blog.Post"> |
属性介绍
- collection:指定要遍历的集合:
- list类型的参数会特殊处理封装在map中,map的key就叫list
- item:将当前遍历出的元素赋值给指定的变量
- separator:每个元素之间的分隔符
- open:遍历出所有结果拼接一个开始的字符
- close:遍历出所有结果拼接一个结束的字符
- index:索引。遍历list的时候是index就是索引,item就是当前值
- 遍历map的时候index表示的就是map的key,item就是map的值
- 用#{变量名}就能取出变量的值也就是当前遍历出的元素
批量插入
Mapper.xml
1 | <!--批量插入章节--> |
Mapper.java
1 | /** |
@param(“list”)注解
如果你的映射方法的形参有多个,这个注解使用在映射方法的参数上就能为它们取自定义名字。若不给出自定义名字,多参数(不包括 RowBounds 参数)则先以 “param” 作前缀,再加上它们的参数位置作为参数别名。例如 #{param1}, #{param2},这个是默认值。如果注解是 @Param(“person”),那么参数就会被命名为 #{person}。
当使用了@Param注解来声明参数时,使用 #{} 或 ${} 的方式都可以获取到参数。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ClawHub的技术分享!