foreach标签查询

主要用于构建in条件,他可以在sql中对集合进行迭代

<select id="getEmpsByConditionForeach" resultType="com.atChina.bean.Employee">select * from emptest <!-- collection:指定遍历的集合item:将当前遍历出的元素赋值指定的变量separator:每个元素之间的分隔符open:遍历出所有结果拼接一个开始的字符close: 遍历出所有结果拼接一个结束的字符index:遍历list的时候,index就是索引,item就是当前值遍历map的时候index表示的就是map的key,item就是map的值   #{变量名}就是取出变量的值也就是当前遍历出的元素.  --><foreach collection="list" item="item_no" separator=","open="where empno in(" close=")">#{item_no}</foreach></select>

foreach标签插入:(oracle数据库)

方式一:使用union all, 中间表dual

<insert id="addEmps">insert into emptest(empno, ename, job, mgr,hiredate,sal)<foreach collection="list" item="emp" separator="union all">(select #{emp.empno}, #{emp.ename}, #{emp.job}, #{emp.mgr}, #{emp.hiredate}, #{emp.sal} from dual)</foreach></insert>

方式二: 使用insert all into, 中间表dual

<insert id="addEmps">INSERT ALL<foreach collection="list" index="index" item="emp">into emptest(empno, ename, job, mgr,hiredate,sal) values( #{emp.empno}, #{emp.ename}, #{emp.job}, #{emp.mgr}, #{emp.hiredate}, #{emp.sal} )</foreach>select 1 from dual</insert> 

方式三: 使用begin..end;

<insert id="addEmps"><foreach collection="list" item="emp" open="begin" close="end;">insert into emptest(empno, ename, job, mgr,hiredate,sal) values( #{emp.empno}, #{emp.ename}, #{emp.job}, #{emp.mgr}, #{emp.hiredate}, #{emp.sal} );</foreach></insert>  

mybaits十七:使用foreach标签相关推荐

  1. Mybatis系列:解决foreach标签内list为空的问题

    我把之前发布在简书的两篇文章通过拦截器Interceptor优化Mybatis的in查询 和Mybatis中foreach标签内list为空的解决方案进行了整合,整理为本文的内容.此外,我还对代码部分 ...

  2. jsp的jstl的foreach标签

    jsp支持丰富的jstl标签语言(需要jar包支持),其中list循环(迭代)用的是<c:forEach></c:forEach>标签. 这个标签的作用就是迭代输出标签内部的内 ...

  3. [jstl] forEach标签使用

     在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JS ...

  4. mysql批量用trim限定_mybatis中批量更新sql语句,trim、foreach标签,varchar定义理解

    准备工作 现在有一张表为:student,相关字段如下: mapper层方法 int batchUpdateStudent(List studentList); xml语句 update studen ...

  5. 【MyBatis框架】mapper配置文件-foreach标签

    foreach标签 下面介绍一下一个mapper配置文件中的foreach标签(注意,要跟着前面的总结来看,这里使用的例子是结合前面的工程写的,大部分代码没有再赘述) foreach的作用是向sql传 ...

  6. Mybatis动态sql中的foreach标签的使用

    foreach 标签一般用于遍历集合,构建in条件语句或者批量操作语句 <insert id="batchSave" parameterType="java.uti ...

  7. mybatis where、set、trim、sql、foreach标签的使用

    mybatis where标签的使用 where后面跟查询条件 简化sql语句中判断条件的书写 例: <select id="user" parameterType=&quo ...

  8. Thinkphp修改一句代码,使得foreach标签支持对象,增加变量[数组对象]混合解析法!...

    2019独角兽企业重金招聘Python工程师标准>>> 今天修补一个老项目中,使用的是TP框架,到视图区发现对象无法遍历输出.真够郁闷的,对于不喜欢数组喜欢变量的强迫症来说就得琢磨琢 ...

  9. MyBatis foreach 标签常用方法总结

    一.前言   在 MyBatis 中,常常会遇到集合类型的参数,虽然我们可以通过 OGNL 表达式来访问集合的某一个元素,但是 OGNL 表达式无法遍历集合.foreach 标签就是专门用来解决这类问 ...

最新文章

  1. canvas画柱状图 和饼图
  2. 性能测试之计数器的阀值(windows)
  3. pythonide机制_强化vim打造python的IDE
  4. Java Error(一)
  5. 牛客网SQL篇刷题篇(16-23)
  6. Docker默认存储路径修改
  7. 【转】angularjs指令中的compile与link函数详解
  8. 【雷达通信】基于matlab CDIF算法雷达信号分选【含Matlab源码 1186期】
  9. c语言家庭财务管理算法,c语言家庭财务管理报告.doc
  10. larval中redis的用法
  11. Qt 模型视图编程之表头设置
  12. 文献综述在论文中的应用
  13. 计蒜客 17115 2017 ICPC 西安网络赛 B Coin
  14. [Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程
  15. 和画意思相近的字_写出两个与画横线词语意思相近的四字词语:         ——青夏教育精英家教网——...
  16. 神经网络训练失败原因总结
  17. 用智能TFT液晶模块这种串口屏做产品界面设计太简单了,大大的节省了开发时间...
  18. 华为手机日历倒计时_倒计时5天!3辆奔驰车、15部华为手机、120万免单奖!赶快上车啦!...
  19. TP-link TL-R473G配置pppoe账号分配网络上网
  20. spss不存在java虚拟机_SPSS22显示“Could not create the Java virtual machine.”的问题

热门文章

  1. [中英对照]How PCI Works | PCI工作原理
  2. 手机用appnium,web自动化用eclips+webdriver2
  3. Ubuntu14.04桥接网络设置与SSH登陆
  4. (转)rlwrap真是一个好东西
  5. GO语言中json与map的转换
  6. python学习笔记1.1
  7. Chapter18-Export and Import Utilities
  8. Quartus II工程文件的后缀含义
  9. Typescript 基本类型
  10. 每3位新码农中就有2个是单身?来自31000人的调查报告显示……