1. 程式人生 > >mapping select 多條件查詢 遍歷查詢

mapping select 多條件查詢 遍歷查詢

 <!-- 查詢查詢出來的訂單列表表裡邊包含幾個學生(學生身份證號)(家長身份)-->
 <select id="queryOrderHasStudent" parameterType="com.zichen.xhkq.pojo.Order" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT DISTINCT os.`xsxm`,os.`xssfz`,os.`schoolName`,os.`ddzt` FROM(SELECT * FROM `order`  
		WHERE `jtbs`=1 
		AND `xssfz`IN 
		<foreach item="xssfz" collection="stuIdCardList" open="(" separator="," close=")">
			#{xssfz}
		</foreach>
		AND `schoolId`=#{schoolId}
		AND `ddzt`=#{ddzt}
	<if test="starttime != null and !''.equals(starttime) ">
		AND `cjsj` BETWEEN #{starttime} AND NOW()
	</if>
	)os
 </select>
 
 <!-- 查詢訂單(家長身份)-->
 <select id="queryOrder" parameterType="com.zichen.xhkq.pojo.Order" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT * FROM `order`  
		WHERE `jtbs`=1 
		AND `xssfz`IN 
		<foreach item="xssfz" collection="stuIdCardList" open="(" separator="," close=")">
			#{xssfz}
		</foreach>
		AND `schoolId`=#{schoolId}
		AND `ddzt`=#{ddzt}
	<if test="starttime != null and !''.equals(starttime)">
		AND `cjsj` BETWEEN #{starttime} AND NOW()
	</if>
 </select>
 
 <!-- 根據訂單號查詢對應幾個學生-->
 <select id="findWhichStudent" parameterType="java.util.List" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT DISTINCT `xssfz` FROM `order` WHERE 1=1
	 	<if test="ddbhmxlist.size != 0">
	 		AND `ddbhmx` in
		 	<foreach item="ddbhmx" collection="ddbhmxlist" open="(" separator="," close=")">  
		        #{ddbhmx}
		 	</foreach> 
	 	</if>
 </select>
 
 <!-- 根據訂單號查詢支付訂單號是否在訂單明細表中存在-->
 <select id="findOrder" parameterType="java.util.List" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT * FROM `order` WHERE 1=1
	 	<if test="ddbhmxlist.size != 0">
	 		AND `ddbhmx` in
		 	<foreach item="ddbhmx" collection="ddbhmxlist" open="(" separator="," close=")">  
		        #{ddbhmx}
		 	</foreach> 
	 	</if>
 </select> 
 <!-- 根據訂單號查詢訂單狀態是否為未繳-->
  <select id="findIsPay" parameterType="java.util.List" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT DISTINCT `ddzt` FROM `order` WHERE 1=1
	 	<if test="ddbhmxlist.size != 0">
	 		AND `ddbhmx` in
		 	<foreach item="ddbhmx" collection="ddbhmxlist" open="(" separator="," close=")">  
		        #{ddbhmx}
		 	</foreach> 
	 	</if>
 </select> 
 <!-- 根據訂單號查詢支付訂單號在訂單明細表中存在幾個-->
 <select id="findOrderSize" parameterType="java.util.List" resultType="com.zichen.xhkq.pojo.Order">
 	SELECT DISTINCT `ddbh` FROM `order` WHERE `ddbh` IS NOT NULL
	 	<if test="ddbhmxlist.size != 0">
	 		AND `ddbhmx` in
		 	<foreach item="ddbhmx" collection="ddbhmxlist" open="(" separator="," close=")">  
		        #{ddbhmx}
		 	</foreach> 
	 	</if>
 </select>