mapper

1.OptionsMapper.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.integrated.dt.mapper.OptionsMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.integrated.dt.entity.Options">
        <id column="id" property="id" />
        <result column="questionId" property="questionId" />
        <result column="content" property="content" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, questionId, content
    </sql>
    <select id="getOptionsByQuestionId" resultType="com.integrated.dt.entity.Options">
      SELECT
      <include refid="Base_Column_List"/>
        from options
        where questionId =#{questionId}

    </select>

</mapper>

 

 

2.QuestionMapper.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.integrated.dt.mapper.QuestionMapper">
    <!-- 开启二级缓存 -->
    <!-- <cache eviction="LRU" flushInterval="100000" readOnly="true" size="1024"></cache>-->

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.integrated.dt.entity.Question">
        <id column="id" property="id"/>
        <result column="content" property="content" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
        <result column="acOptionId" property="acOptionId"/>
    </resultMap>

    <resultMap id="QuestionOptionlsResultMap" type="com.integrated.dt.vo.QuestionVo">
        <id column="id" property="id"/>
        <result column="content" property="content" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
        <result column="acOptionId" property="acOptionId"/>
        <result column="level" property="level"/>
        <collection property="optionsList" javaType="ArrayList"
                    ofType="com.integrated.dt.entity.Options" column="id"
                    select="com.integrated.dt.mapper.OptionsMapper.getOptionsByQuestionId">
        </collection>
    </resultMap>

    <resultMap id="QuestionOptionlsByActivityIdResultMap" type="com.integrated.dt.vo.QuestionVo">
        <id column="qId" property="id"/>
        <result column="qContent" property="content" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
        <result column="acOptionId" property="acOptionId"/>
        <result column="level" property="level"/>
        <collection property="optionsList" javaType="ArrayList"
                    ofType="com.integrated.dt.entity.Options" column="id"
                    select="com.integrated.dt.mapper.OptionsMapper.getOptionsByQuestionId">
        </collection>
        <collection property="optionsList" javaType="java.util.ArrayList"
                    ofType="com.integrated.dt.entity.Options">
            <id column="oId" property="id" jdbcType="NUMERIC" />
            <result column="questionId" property="questionId" jdbcType="NUMERIC" />
            <result column="oContent" property="content" jdbcType="VARCHAR" />
        </collection>
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, content, description, acOptionId,level
    </sql>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List_Vo">
        A.id, A.content, A.description, A.acOptionId,A.level
    </sql>
    <select id="getQuestions" resultMap="QuestionOptionlsResultMap">
        select
        <include refid="Base_Column_List"/>
        from question
    </select>
    <select id="selectActivityQuestion" resultMap="QuestionOptionlsByActivityIdResultMap">
        select
        <!-- <include refid="Base_Column_List"/>-->
        A.id qId,
        A.content qContent,
        A.description,
        A.acOptionId,
        A.level,
        c.id oId,
        C.questionId,
        c.content oContent
        from question A
        INNER JOIN activity_questions B
        on A.id = B.questionId
        LEFT JOIN options C
        ON A.ID = C.questionId
        where B.activityId = #{activityId}
    </select>

</mapper>

 

posted @ 2021-10-07 21:41  mimimikasa  阅读(202)  评论(0)    收藏  举报