select * from emptest
当前位置:   article > 正文

mybaits十七:使用foreach标签_mybait foreach

mybait foreach

foreach标签查询

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

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

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

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

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

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

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

方式三: 使用begin..end; 

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/749094
推荐阅读
相关标签
  

闽ICP备14008679号