<?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.mingsoft.job.dao.IWorkexpDao">
    <!-- 表字段 -->
    <sql id="column_list">
        workexpid,startdate,enddate,company,division,job,address,salary,responsibility,quitreason,recommender,recommenderphone,resumeid,createdatetime,updatedatetime,status,bak1,bak2,bak3,bak4,bak5
    </sql>
	<!-- 将实体属性与表字段对接开始 -->    
    <resultMap id="resultMap" type="com.mingsoft.job.entity.WorkexpEntity">
       <id column="workexpid" property="workexpid" />
       <result column="startdate" property="startdate" />
       <result column="enddate" property="enddate" />
       <result column="company" property="company" />
       <result column="division" property="division" />
       <result column="job" property="job" />
       <result column="division" property="division" />
       <result column="address" property="address" />
       <result column="salary" property="salary" />
       <result column="responsibility" property="responsibility" />
       <result column="quitreason" property="quitreason" />
       <result column="recommender" property="recommender" />
       <result column="recommenderphone" property="recommenderphone" />
       <result column="resumeid" property="resumeid" />
       <result column="createdatetime" property="createdatetime" />
       <result column="updatedatetime" property="updatedatetime" />
       <result column="status" property="status" />
       <result column="bak1" property="bak1" />
       <result column="bak2" property="bak2" />
       <result column="bak3" property="bak3" />
       <result column="bak4" property="bak4" />
       <result column="bak5" property="bak5" />
    </resultMap>
	<!-- 将实体属性与表字段对接结束 -->
    <!-- 新增 -->
    <insert id="saveEntity" useGeneratedKeys="true" keyProperty="workexpid"
       parameterType="com.mingsoft.job.entity.WorkexpEntity">
       insert into resume_workexp
       <trim prefix="(" suffix=")" suffixOverrides=",">
           <if test="startdate != null">startdate,</if>
           <if test="enddate != null">enddate,</if>
           <if test="company != null">company,</if>
           <if test="division != null">division,</if>
           <if test="job != null">job,</if>
           <if test="address != null">address,</if>
           <if test="salary != null">salary,</if>
           <if test="responsibility != null">responsibility,</if>
           <if test="quitreason != null">quitreason,</if>
           <if test="recommender != null">recommender,</if>
           <if test="recommenderphone != null">recommenderphone,</if>
           <if test="resumeid != null">resumeid,</if>
           <if test="createdatetime != null">createdatetime,</if>
           <if test="updatedatetime != null">updatedatetime,</if>
           <if test="status != null">status,</if>
           <if test="bak1 != null">bak1,</if>
           <if test="bak2 != null">bak2,</if>
           <if test="bak3 != null">bak3,</if>
           <if test="bak4 != null">bak4,</if>
           <if test="bak5 != null">bak5,</if>
       </trim>
       <trim prefix="values (" suffix=")" suffixOverrides=",">
           <if test="startdate != null">#{startdate},</if>
           <if test="enddate != null">#{enddate},</if>
           <if test="company != null">#{company},</if>
           <if test="division != null">#{division},</if>
           <if test="job != null">#{job},</if>
           <if test="address != null">#{address},</if>
           <if test="salary != null">#{salary},</if>
           <if test="responsibility != null">#{responsibility},</if>
           <if test="quitreason != null">#{quitreason},</if>
           <if test="recommender != null">#{recommender},</if>
           <if test="recommenderphone != null">#{recommenderphone},</if>
           <if test="resumeid != null">#{resumeid},</if>
           <if test="createdatetime != null">#{createdatetime},</if>
           <if test="updatedatetime != null">#{updatedatetime},</if>
           <if test="status != null">#{status},</if>
           <if test="bak1 != null">#{bak1},</if>
           <if test="bak2 != null">#{bak2},</if>
           <if test="bak3 != null">#{bak3},</if>
           <if test="bak4 != null">#{bak4},</if>
           <if test="bak5 != null">#{bak5},</if>
       </trim>
    </insert>
    <!-- 查询 -->
    <select id="queryAll" resultMap="resultMap" parameterType="java.lang.String">
       select
       <include refid="column_list" />
       from resume_workexp
    </select>
    <!-- 查询带分页 -->
    <select id="query" resultMap="resultMap" parameterType="java.util.Map">
       select
       <include refid="column_list" />
       from resume_workexp r
       <where>
	   	<if test="whereMap!=null">
	   		<if test="whereMap.startdate!=null">
	   			and r.startdate = #{startdate}
	   		</if>
	   		<if test="whereMap.enddate!=null">
	   			and r.enddate = #{enddate}
	   		</if>	   			   		
			<if test="whereMap.resumeid!=null">
				and r.resumeid = #{resumeid}
			</if>
			<if test="whereMap.status!=null">
				and r.status in 
				<foreach collection="whereMap.status" item="status" index="index" open="(" separator="," close=")">
					#{status}
				</foreach>
			</if>
	   			   			   			   		
	   	</if>
	   </where>
       <if test="orderBy != null">
           order by ${orderBy}
       </if>
       <if test="order != null">
           ${order}
       </if>
    </select>
    
	<!-- 根据ID查找实体 -->
	<select id="getEntity" resultMap="resultMap" parameterType="int">
       select
       <include refid="column_list" />
       from resume_workexp where workexpid = #{workexpid}
	</select>
	<!-- 查找文章管理的信息 结束 -->
    
    
    <!-- 更新 -->
    <update id="updateEntity" parameterType="com.mingsoft.job.entity.WorkexpEntity">
       update resume_workexp
       <set>
           <if test="startdate != null">startdate=#{startdate},</if>
           <if test="enddate != null">enddate=#{enddate},</if>
           <if test="company != null">company=#{course},</if>
           <if test="division != null">division=#{division},</if>
           <if test="job != null">job=#{job},</if>
           <if test="address != null">address=#{address},</if>
           <if test="salary != null">salary=#{salary},</if>
           <if test="responsibility != null">responsibility=#{responsibility},</if>
           <if test="quitreason != null">quitreason=#{quitreason},</if>
           <if test="recommender != null">recommender=#{recommender},</if>
           <if test="recommenderphone != null">recommenderphone=#{recommenderphone},</if>
           <if test="resumeid != null">resumeid=#{resumeid},</if>
           <if test="createdatetime != null">createdatetime=#{createdatetime},</if>
           <if test="updatedatetime != null">updatedatetime=#{updatedatetime},</if>
           <if test="status != null">status=#{status},</if>
           <if test="bak1 != null">bak1=#{bak1},</if>
           <if test="bak2 != null">bak2=#{bak2},</if>
           <if test="bak3 != null">bak3=#{bak3},</if>
           <if test="bak4 != null">bak4=#{bak4},</if>
           <if test="bak5 != null">bak5=#{bak5},</if>         
       </set>
       where workexpid=#{workexpid}
    </update>
    
    <!-- 更新状态 -->
    <update id="updateJobStatus" parameterType="com.mingsoft.job.entity.WorkexpEntity">
       update resume_workexp
       <set>
           <if test="updatedatetime != null">updatedatetime=#{updatedatetime},</if>
           <if test="status != null">status=#{status},</if>
       </set>
       where workexpid=#{workexpid}
    </update> 
       
    <!-- 删除 -->
    <delete id="deleteEntity" parameterType="java.lang.Integer">
       delete from resume_workexp
       where workexpid =
       #{workexpid}
    </delete>
</mapper>
