mybaits十七:使用foreach标签
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标签相关推荐
- Mybatis系列:解决foreach标签内list为空的问题
我把之前发布在简书的两篇文章通过拦截器Interceptor优化Mybatis的in查询 和Mybatis中foreach标签内list为空的解决方案进行了整合,整理为本文的内容.此外,我还对代码部分 ...
- jsp的jstl的foreach标签
jsp支持丰富的jstl标签语言(需要jar包支持),其中list循环(迭代)用的是<c:forEach></c:forEach>标签. 这个标签的作用就是迭代输出标签内部的内 ...
- [jstl] forEach标签使用
在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JS ...
- mysql批量用trim限定_mybatis中批量更新sql语句,trim、foreach标签,varchar定义理解
准备工作 现在有一张表为:student,相关字段如下: mapper层方法 int batchUpdateStudent(List studentList); xml语句 update studen ...
- 【MyBatis框架】mapper配置文件-foreach标签
foreach标签 下面介绍一下一个mapper配置文件中的foreach标签(注意,要跟着前面的总结来看,这里使用的例子是结合前面的工程写的,大部分代码没有再赘述) foreach的作用是向sql传 ...
- Mybatis动态sql中的foreach标签的使用
foreach 标签一般用于遍历集合,构建in条件语句或者批量操作语句 <insert id="batchSave" parameterType="java.uti ...
- mybatis where、set、trim、sql、foreach标签的使用
mybatis where标签的使用 where后面跟查询条件 简化sql语句中判断条件的书写 例: <select id="user" parameterType=&quo ...
- Thinkphp修改一句代码,使得foreach标签支持对象,增加变量[数组对象]混合解析法!...
2019独角兽企业重金招聘Python工程师标准>>> 今天修补一个老项目中,使用的是TP框架,到视图区发现对象无法遍历输出.真够郁闷的,对于不喜欢数组喜欢变量的强迫症来说就得琢磨琢 ...
- MyBatis foreach 标签常用方法总结
一.前言 在 MyBatis 中,常常会遇到集合类型的参数,虽然我们可以通过 OGNL 表达式来访问集合的某一个元素,但是 OGNL 表达式无法遍历集合.foreach 标签就是专门用来解决这类问 ...
最新文章
- canvas画柱状图 和饼图
- 性能测试之计数器的阀值(windows)
- pythonide机制_强化vim打造python的IDE
- Java Error(一)
- 牛客网SQL篇刷题篇(16-23)
- Docker默认存储路径修改
- 【转】angularjs指令中的compile与link函数详解
- 【雷达通信】基于matlab CDIF算法雷达信号分选【含Matlab源码 1186期】
- c语言家庭财务管理算法,c语言家庭财务管理报告.doc
- larval中redis的用法
- Qt 模型视图编程之表头设置
- 文献综述在论文中的应用
- 计蒜客 17115 2017 ICPC 西安网络赛 B Coin
- [Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程
- 和画意思相近的字_写出两个与画横线词语意思相近的四字词语: ——青夏教育精英家教网——...
- 神经网络训练失败原因总结
- 用智能TFT液晶模块这种串口屏做产品界面设计太简单了,大大的节省了开发时间...
- 华为手机日历倒计时_倒计时5天!3辆奔驰车、15部华为手机、120万免单奖!赶快上车啦!...
- TP-link TL-R473G配置pppoe账号分配网络上网
- spss不存在java虚拟机_SPSS22显示“Could not create the Java virtual machine.”的问题