MyBatis批量插入数据(MySql)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MyBatis批量插入数据(MySql),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2087字,纯文字阅读大概需要3分钟。
内容图文
1 <!-- 批量插入生成的兑换码 --> 2 <insert id ="insertCodeBatch" parameterType="java.util.List" > 3 <selectKey resultType ="java.lang.Integer" keyProperty= "id" 4 order= "AFTER"> 5 SELECT LAST_INSERT_ID() 6 </selectKey > 7 insert into redeem_code 8 (bach_id, code, type, facevalue,create_user,create_time) 9 values 10 <foreach collection ="list" item="reddemCode" index= "index" separator =","> 11 ( 12 #{reddemCode.batchId}, #{reddemCode.code}, 13 #{reddemCode.type}, 14 #{reddemCode.facevalue}, 15 #{reddemCode.createUser}, #{reddemCode.createTime} 16 ) 17 </foreach > 18 </insert >
xxxMapper.java(部分)
1 int insertCodeBatch(List<ReddemCode > reddemCodeList);
对于foreach标签的解释参考了网上的资料,具体如下:
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:
1.如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
2.如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
3.如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map
使用批量插入执行的SQL语句应该等价于:insert into redeem_code (batch_id, code, type, facevalue,create_user,create_time) values (?,?,?,?,?,? ),(?,?,?,?,?,? ),(?,?,?,?,?,? ),(?,?,?,?,?,? )
MyBatis批量插入数据(MySql)
标签:lan oar rac vue mvp hvm lsh csu wwwn
本文系统来源:http://www.cnblogs.com/lyh971134228/p/6887899.html
内容总结
以上是互联网集市为您收集整理的MyBatis批量插入数据(MySql)全部内容,希望文章能够帮你解决MyBatis批量插入数据(MySql)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。