mapper.xml中标签的使用

<?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.lyj.exam.mapper.SysExamPaperMapper">

    <resultMap type="SysExamPaperQuestion" id="questionPaperResult">
        <id column="id" property="id"/>
        <result property="questionId" column="question_id"/>
        <result property="paperId" column="paper_id"/>
        <!--        <result property="truean" column="paper_id"/>-->
        <association property="sysExamQuestion" javaType="com.lyj.exam.domain.SysExamQuestion">
            <id property="questionId" column="question_id"/>
            <result property="questionType" column="question_type"/>
            <result property="questionCourse" column="question_course"/>
            <result property="questionName" column="question_name"/>
            <result property="questionOpa" column="question_opa"/>
            <result property="questionOpb" column="question_opb"/>
            <result property="questionOpc" column="question_opc"/>
            <result property="questionOpd" column="question_opd"/>
            <result property="questionOpright" column="question_opright"/>
            <result property="questionExplain" column="question_explain"/>
            <result property="questionPassage" column="question_passage"/>
        </association>
        <association property="sysExamPaper" javaType="com.lyj.exam.domain.SysExamPaper">
            <id property="paperId" column="paper_id"/>
            <result property="paperName" column="paper_name"/>
            <result property="paperRemark" column="paper_remark"/>
            <result property="paperUptime" column="paper_uptime"/>
            <result property="paperDowntime" column="paper_downtime"/>
        </association>
    </resultMap>

    <resultMap type="SysExamPaper" id="SysExamPaperResult">
        <result property="paperId"    column="paper_id"    />
        <result property="paperName"    column="paper_name"    />
        <result property="paperRemark"    column="paper_remark"    />
        <result property="paperUptime"    column="paper_uptime"    />
        <result property="paperDowntime"    column="paper_downtime"    />
    </resultMap>

    <sql id="selectSysExamPaperVo">
        select paper_id, paper_name, paper_remark, paper_uptime, paper_downtime from sys_exam_paper
    </sql>

    <select id="selectSysExamPaperList" parameterType="SysExamPaper" resultMap="SysExamPaperResult">
        <include refid="selectSysExamPaperVo"/>
        <where>
            <if test="paperName != null  and paperName != ''"> and paper_name like concat('%', #{paperName}, '%')</if>
            <if test="paperUptime != null "> and paper_uptime &gt;= #{paperUptime}</if>
            <if test="paperDowntime != null "> and paper_downtime &lt;= #{paperDowntime}</if>
        </where>
    </select>

    <select id="selectSysExamPaperByPaperId" parameterType="Long" resultMap="SysExamPaperResult">
        <include refid="selectSysExamPaperVo"/>
        where paper_id = #{paperId}
    </select>

    <insert id="insertSysExamPaper" parameterType="SysExamPaper" useGeneratedKeys="true" keyProperty="paperId">
        insert into sys_exam_paper
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="paperName != null">paper_name,</if>
            <if test="paperRemark != null">paper_remark,</if>
            <if test="paperUptime != null">paper_uptime,</if>
            <if test="paperDowntime != null">paper_downtime,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="paperName != null">#{paperName},</if>
            <if test="paperRemark != null">#{paperRemark},</if>
            <if test="paperUptime != null">#{paperUptime},</if>
            <if test="paperDowntime != null">#{paperDowntime},</if>
         </trim>
    </insert>

    <update id="updateSysExamPaper" parameterType="SysExamPaper">
        update sys_exam_paper
        <trim prefix="SET" suffixOverrides=",">
            <if test="paperName != null">paper_name = #{paperName},</if>
            <if test="paperRemark != null">paper_remark = #{paperRemark},</if>
            <if test="paperUptime != null">paper_uptime = #{paperUptime},</if>
            <if test="paperDowntime != null">paper_downtime = #{paperDowntime},</if>
        </trim>
        where paper_id = #{paperId}
    </update>

    <delete id="deleteSysExamPaperByPaperId" parameterType="Long">
        delete from sys_exam_paper where paper_id = #{paperId}
    </delete>

    <delete id="deleteSysExamPaperByPaperIds" parameterType="String">
        delete from sys_exam_paper where paper_id in
        <foreach item="paperId" collection="array" open="(" separator="," close=")">
            #{paperId}
        </foreach>
    </delete>

    <select id="selectSysExamPaperQuestionList" resultMap="questionPaperResult">
        SELECT * FROM
        sys_exam_question_paper qp
        LEFT JOIN sys_exam_question q
        on qp.question_id=q.question_id
        LEFT JOIN sys_exam_paper p
        on qp.paper_id=p.paper_id
        where qp.paper_id=#{id} order by question_type
    </select>
</mapper>

猜你喜欢

转载自blog.csdn.net/liyingjie2001/article/details/127926880