OrderReceiver.xml 5.4 KB
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
	"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.diligrp.orders.dao.OrderReceiverDao">

	<!-- order_receiver 所有查询列 -->
	<sql id="QUERY_COLUMN_LIST">
		<![CDATA[id,order_id AS orderId,receiver_name AS receiverName,receiver_phone AS receiverPhone,
				receiver_idcard AS receiverIdcard,receiver_address AS receiverAddress,
				real_receiver_name AS realReceiverName,real_receiver_phone AS realReceiverPhone,
				real_receiver_idcard AS realReceiverIdcard,real_receiver_address AS realReceiverAddress,
				create_time AS createTime,edit_time AS editTime
		]]>
	</sql>

	<!-- order_ship_info 查询列来源表-->
	<sql id="QUERY_FROM_TABLE"><![CDATA[FROM order_receiver]]></sql>
	
	<!-- 全部条件(更多功能可以通过queryData扩展实现)  -->
	<sql id="QUERY_WHERE_CLAUSE">
		<where>
			<if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if>
			<if test="orderId != null and orderId != ''"><![CDATA[AND order_id = #{orderId}]]></if>
			<if test="receiverName != null and receiverName != ''"><![CDATA[AND receiver_name = #{receiverName}]]></if>
			<if test="receiverPhone != null and receiverPhone != ''"><![CDATA[AND receiver_phone = #{receiverPhone}]]></if>
			<if test="queryData != null">
				<if test="queryData.orderIdSet!=null and queryData.orderIdSet.size()>0">
					AND order_id in
					<foreach collection="queryData.orderIdSet" index="index" item="orderId" open="(" separator="," close=")">
						#{orderId}
					</foreach>
				</if>
			</if>
		</where>
	</sql>
	
	<!-- 智能排序与分页 -->
	<sql id="QUERY_ORDER_LIMIT_CONDTION">
		<if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if>
		<if test="startIndex != null and startIndex &gt;= 0 and pageSize != null and pageSize &gt; 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if>
	</sql>

	<!-- 更新列字段,只要不为NULL则更新,除开主键列 -->
	<sql id="UPDATE_COLUMN_SET">
		<set>
			<if test="orderId != null"><![CDATA[order_id = #{orderId},]]></if>
			<if test="receiverName != null"><![CDATA[receiver_name = #{receiverName},]]></if>
			<if test="receiverPhone != null"><![CDATA[receiver_phone = #{receiverPhone},]]></if>
			<if test="receiverIdcard != null"><![CDATA[receiver_idcard = #{receiverIdcard},]]></if>
			<if test="receiverAddress != null"><![CDATA[receiver_address = #{receiverAddress},]]></if>
			<if test="realReceiverName != null"><![CDATA[real_receiver_name = #{realReceiverName},]]></if>
			<if test="realReceiverPhone != null"><![CDATA[real_receiver_phone = #{realReceiverPhone},]]></if>
			<if test="realReceiverIdcard != null"><![CDATA[real_receiver_idcard = #{realReceiverIdcard},]]></if>
			<if test="realReceiverAddress != null"><![CDATA[real_receiver_address = #{realReceiverAddress},]]></if>
			<choose>
				<when test="editTime != null">
					<![CDATA[edit_time = #{editTime},]]>
				</when>
				<otherwise>
					<![CDATA[a.edit_time = NOW(),]]>
				</otherwise>
			</choose>
		</set>
	</sql>

	<!-- 插入order_ship_info记录 -->
	<insert id="insertEntry" parameterType="orderReceiver" >
		<![CDATA[
			INSERT INTO order_receiver (order_id,receiver_name,receiver_phone,receiver_idcard,receiver_address,real_receiver_name,real_receiver_phone,real_receiver_idcard,real_receiver_address,create_time,edit_time)
			VALUES (#{orderId},#{receiverName},#{receiverPhone},#{receiverIdcard},#{receiverAddress},#{realReceiverName},#{realReceiverPhone},#{realReceiverIdcard},#{realReceiverAddress},#{createTime},#{editTime})
		]]>
	</insert>
	
	<!-- 返回插入的编号,在事务开启状态下有效 -->
	<select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select>

	<!-- 删除记录,主键IN(array) -->
	<delete id="deleteByArrayKey" parameterType="java.lang.reflect.Array" >
		<![CDATA[DELETE FROM order_receiver WHERE id IN]]>
		<foreach collection="array" item="id" open="(" separator="," close=")">
			<![CDATA[#{id}]]>
		</foreach>
	</delete>

	<!-- 删除,通过条件 -->
	<update id="deleteByCondtion" parameterType="orderReceiver" >
		<![CDATA[DELETE FROM order_receiver ]]>
		<include refid="QUERY_WHERE_CLAUSE"/>
	</update>

	<!-- 修改记录通过主键 -->
	<update id="updateByKey" parameterType="orderReceiver" >
		<![CDATA[UPDATE order_receiver ]]>
		<include refid="UPDATE_COLUMN_SET"/>
		<![CDATA[WHERE id = #{id}]]>
	</update>

	<!-- 查询,通过主键IN(array) -->
	<select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="orderReceiver">
		<![CDATA[SELECT]]>
		<include refid="QUERY_COLUMN_LIST"/>
		<include refid="QUERY_FROM_TABLE"/>
		<![CDATA[WHERE id IN]]>
		<foreach collection="array" item="id" open="(" separator="," close=")">
			<![CDATA[#{id}]]>
		</foreach>
	</select>

	<!-- 查询,通过条件 -->
	<select id="selectEntryList" parameterType="orderReceiver" resultType="orderReceiver">
		<![CDATA[SELECT]]>
		<include refid="QUERY_COLUMN_LIST"/>
		<include refid="QUERY_FROM_TABLE"/>
		<include refid="QUERY_WHERE_CLAUSE"/>
		<include refid="QUERY_ORDER_LIMIT_CONDTION"/>
	</select>

	<!-- 总数查询,通过条件 -->
	<select id="selectEntryListCount" parameterType="orderReceiver" resultType="int">
		<![CDATA[SELECT COUNT(id) AS dataCount]]>
		<include refid="QUERY_FROM_TABLE"/>
		<include refid="QUERY_WHERE_CLAUSE"/>
	</select>
	
	<!-- 其它SQL语句 -->
	
	
</mapper>