mybaits十七:使用foreach标签
生活随笔
收集整理的這篇文章主要介紹了
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标签的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybaits十六:使用choose标签
- 下一篇: .net引用System.Data.SQ