mybatis

来源:互联网 发布:网红的淘宝杂货铺 编辑:程序博客网 时间:2024/06/03 16:27
<?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="samsung.sds.survey.surveyManagement.dao.SurveyDesignMapper">

    <!-- 根据问卷id查询问卷 -->
    <resultMap type="samsung.sds.survey.surveyManagement.model.SurveyEntity"
        id="querySurvey">
        <id column="SURVEY_ID" property="survey_Id" jdbcType="DECIMAL" />
        <result column="SURVEY_NAME" property="survey_Name" jdbcType="VARCHAR" />
        <result column="REMARK" property="remark" jdbcType="VARCHAR" />
        <result column="END_DATE" property="end_Date" jdbcType="TIMESTAMP" />
        <result column="STATUS" property="status" jdbcType="CHAR" />
        <result column="SURVEY_TYPE" property="survey_Type" jdbcType="VARCHAR" />
        <result column="CREATE_TIME" property="create_Time" jdbcType="TIMESTAMP" />
        <result column="CREATE_USER" property="create_User" jdbcType="VARCHAR" />
        <result column="LAST_MODIFY_TIME" property="last_Modify_Time"
            jdbcType="TIMESTAMP" />
        <result column="LAST_MODIFY_USER" property="last_Modify_User"
            jdbcType="VARCHAR" />
    </resultMap>
    <select id="querySurveyById" parameterType="java.math.BigDecimal"
        resultMap="querySurvey">
        select   t.SURVEY_ID
                ,t.SURVEY_NAME
                ,REMARK
                ,END_DATE
                ,STATUS
                ,SURVEY_TYPE
                ,CREATE_TIME
                ,CREATE_USER
                ,LAST_MODIFY_TIME
                ,LAST_MODIFY_USER
         from   TF_F_SURVEY t
         where  t.SURVEY_ID = #{cid}
      order by  t.SURVEY_ID
    </select>
    
    <!-- 根据问卷id查询问题及对应选项 -->
    <resultMap id="questions" type="samsung.sds.survey.surveyManagement.model.QuestionEntity">
        <id column="ID" property="id" jdbcType="DECIMAL" />
        <result column="SURVEY_ID" property="surveyId" jdbcType="DECIMAL" />
        <result column="QUESTION_TYPE" property="questionType"
            jdbcType="CHAR" />
        <result column="QUESTION_ORDER" property="questionOrder"
            jdbcType="DECIMAL" />
        <result column="VALIDATE_RULE" property="validateRule"
            jdbcType="VARCHAR" />
        <result column="QUESTION_CONTENT" property="questionContent"
            jdbcType="VARCHAR" />
        <result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
        <result column="CREATE_USER" property="createUser" jdbcType="VARCHAR" />
        <collection property="questionOptionList" ofType="samsung.sds.survey.surveyManagement.model.OptionEntity" >
            <id column="QUESTION_ID" property="questionId" jdbcType="DECIMAL" />
            <result column="OPTION_VALUE" property="optionValue" jdbcType="VARCHAR" />
            <result column="OPTION_NAME" property="optionName" jdbcType="CHAR" />
            <result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
            <result column="CREATE_USER" property="createUser" jdbcType="VARCHAR" />
            <result column="LAST_MODIFY_TIME" property="lastModifyTime"
                jdbcType="TIMESTAMP" />
            <result column="LAST_MODIFY_USER" property="lastModifyUser"
            jdbcType="VARCHAR" />
        </collection>
    </resultMap>
    <select id="queryQuestionById" parameterType="java.math.BigDecimal"
        resultMap="questions" >
        select   tq.SURVEY_ID
                ,tq.ID
                ,tq.QUESTION_TYPE
                ,tq.QUESTION_ORDER
                ,tq.VALIDATE_RULE
                ,tq.QUESTION_CONTENT
                ,tq.CREATE_TIME
                ,tq.CREATE_USER
                ,tqo.OPTION_VALUE
                ,tqo.OPTION_NAME
                ,tqo.CREATE_TIME
                ,tqo.CREATE_USER
                ,tqo.LAST_MODIFY_TIME
                ,tqo.LAST_MODIFY_USER
            from TF_F_QUESTION tq left
            join TF_F_QUESTION_OPTIONITEMT tqo
              on tq.id = tqo.question_id
           where tq.SURVEY_ID = #{cid}
        order by tq.QUESTION_ORDER
                ,tqo.OPTION_VALUE
    </select>
    
    <!-- 向数据库插入问题实体 -->
    <insert id="insertQuestion" parameterType="samsung.sds.survey.surveyManagement.model.QuestionEntity" >
   
    insert into TF_F_QUESTION (
               ID
              ,SURVEY_ID
              ,QUESTION_TYPE
             ,QUESTION_ORDER
    <if test="validateRule != ''" >
           ,VALIDATE_RULE
    </if>
              ,QUESTION_CONTENT
           ,CREATE_TIME
              ,CREATE_USER
              ,LAST_MODIFY_USER
            ,LAST_MODIFY_TIME
            )
    values (
            #{id,             jdbcType=DECIMAL}
           ,#{surveyId,       jdbcType=DECIMAL}
           ,#{questionType,   jdbcType=CHAR}
           ,#{questionOrder,  jdbcType=DECIMAL}
    <if test="validateRule != ''" >
           ,#{validateRule,   jdbcType=VARCHAR}
    </if>
           ,#{questionContent,jdbcType=VARCHAR}
           ,TO_DATE(substr(#{createTime},0,19) ,'yyyy-MM-dd  HH24:mi:ss'), #{createUser,jdbcType=VARCHAR}
           ,#{lastModifyUser, jdbcType=VARCHAR}
            ,TO_DATE(substr(#{lastModifyTime},0,19)
            ,'yyyy-MM-dd HH24:mi:ss')
     )
  </insert>
 
  <!-- 向数据库插入问题选项 -->
   <insert id="insertOption" parameterType="samsung.sds.survey.surveyManagement.model.OptionEntity" >
    insert into TF_F_QUESTION_OPTIONITEMT (
                OPTION_VALUE
               ,QUESTION_ID
               ,OPTION_NAME
               ,CREATE_TIME
               ,CREATE_USER
               ,LAST_MODIFY_TIME
               ,LAST_MODIFY_USER
               )
    values (
            #{optionValue,    jdbcType=VARCHAR}
            ,#{questionId,    jdbcType=DECIMAL}
            ,#{optionName,    jdbcType=VARCHAR}
            ,TO_DATE(substr(#{createTime},0,19),'yyyy-MM-dd HH24:mi:ss')
            ,#{createUser,    jdbcType=VARCHAR}
            ,TO_DATE(substr(#{lastModifyTime},0,19),'yyyy-MM-dd HH24:mi:ss')
            ,#{lastModifyUser,jdbcType=VARCHAR}
    )
  </insert>
 
  <!-- 删除问题选项 -->
  <delete id="deleteOption" parameterType="java.math.BigDecimal" >
      delete
    from   TF_F_QUESTION_OPTIONITEMT
    where  QUESTION_ID = #{questionId}
  </delete>
 
  <!-- 删除问题 -->
  <delete id="deleteQuestion" parameterType="java.math.BigDecimal">
      DELETE
      FROM   TF_F_QUESTION t
      WHERE  t.SURVEY_ID = #{id}    
  </delete>
 
  <!-- 查询问题表中最大的id -->
  <select id="queryQuestionMaxId" resultType="java.lang.Integer">
          select max(t.ID)
          from   TF_F_QUESTION t
  </select>
  <!-- 更新问卷 -->
  <update id="updateEntity" parameterType="samsung.sds.survey.surveyManagement.model.SurveyEntity">
        UPDATE TF_F_SURVEY t
        <set>
            LAST_MODIFY_USER = #{last_Modify_User,jdbcType=VARCHAR},
            LAST_MODIFY_TIME =
            TO_DATE(substr(#{last_Modify_Time},0,19),'yyyy-MM-dd HH24:mi:ss')
        </set>
        WHERE SURVEY_ID = #{survey_Id,jdbcType=VARCHAR}
    </update>
</mapper>
0 0