Mybatis动态sql批量插入
来源:互联网 发布:装修平面设计图软件 编辑:程序博客网 时间:2024/05/16 17:34
<insert id="insert" > insert into user (id) values<foreach collection="ids" item="id" index="index"> (#{id,jdbcType=INTEGER} )</foreach></insert>
这是mybatis动态sql批量插入,
第一个实例,foreach里面跟正常的java foreach一样,collection是传入的集合ids,item是遍历过程中的对象,index也就是遍历的第几次
所以上面这个动态sql可以转化为 insert into user (id) values (id) (id)....... 这个(id)是foreach循环的次数
现在传入一个参数跟一个集合,比如,(String class,list<student> students),这样传入mapper的,如何批量插入实现 同一班级与不同学生多条记录
<insert id="insert"> INSERT INTO user(student, class) VALUES <foreach collection="students" item="student" separator=","> (#{student,jdbcType=VARCHAR}, #{class,jdbcType=VARCHAR}) </foreach> </insert>可以按上面这样写,虽然class不是一个集合,但是这样写也可以跟着students的遍历,将同一班级下的不同学生都插入到数据库
解析语句:foreach是正常的java用法,collection后面是集合students,item是每次遍历的对象student,
不过这次添加了separator是以什么分离的意思,因为foreach中class与student后面是个逗号,所以写成separator=","
后面还可以写 or and等分割,以实际情况为准。
所以现在这个sql语句为: insert into user (student,class) values (student,class)(student,class).......
可以完成单个参数跟集合循环批量插入的情况。
注意写动态sql跟sql语句一样,要注意前后参数的位置顺序的照应。
阅读全文
0 0
- Mybatis动态sql批量插入
- MyBatis使用动态SQL批量插入数据
- Mybatis 转义字符,动态sql , 批量插入,批量更新
- 08. mybatis 高级:动态sql批量插入数据
- MyBatis动态SQL foreach标签实现批量插入
- mybatis 批量插入动态表
- Mybatis 动态SQL批量插入(有则更新无则插入)
- mybatis的批量插入与动态查询
- mybatis动态插入sql语句
- mybatis批量插入和修改sql语句?
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- Mybatis动态SQL 条件查询,批量删除
- MyBatis利用动态SQL进行批量操作
- Mybatis动态SQL执行批量更新注意事项
- 【java项目实践】mybatis动态Insert批量插入数据
- MyBatis动态sql_foreach下foreach批量插入两种方式
- mybatis批量插入、批量删除
- 两个月,我又回来了
- 浏览器加载 CommonJS 模块的原理与实现
- linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
- 分享Java常用几种加密算法(四种)
- TOJ Code the Tree AC 代码 以及题解
- Mybatis动态sql批量插入
- 画圆环
- mybatis---使用generator自动创建代码
- 使用异步 I/O 大大提高应用程序的性能
- VMware中解决ubuntu不能连接网络问题
- vue.js实现的一个todo list
- uiautomator打包jar后如何给测试员提供可视化界面自行选择执行用例
- 常用的spark数据读取和保存
- JAVA 获取本机所有IPv4地址