|
|
<!-- 声明 XML 文档版本为 1.0,并指定字符编码为 UTF-8,确保文档能正确处理各种字符 -->
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<!-- 定义文档类型,引用 MyBatis Mapper 3.0 的 DTD,用于验证当前 XML 文档是否符合 MyBatis Mapper 规范 -->
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<!-- 定义 Mapper 命名空间,将此 XML 映射文件与对应的 Java Mapper 接口关联起来,方便 MyBatis 找到对应的操作方法 -->
|
|
|
<mapper namespace="com.yf.exam.modules.paper.mapper.PaperQuAnswerMapper">
|
|
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
|
<!-- 定义一个基础结果映射,将数据库查询结果映射到 Java 实体类 com.yf.exam.modules.paper.entity.PaperQuAnswer -->
|
|
|
<resultMap id="BaseResultMap" type="com.yf.exam.modules.paper.entity.PaperQuAnswer">
|
|
|
<!-- 映射数据库表的主键列 id 到 Java 实体类的 id 属性 -->
|
|
|
<id column="id" property="id" />
|
|
|
<!-- 映射数据库表的 paper_id 列到 Java 实体类的 paperId 属性 -->
|
|
|
<result column="paper_id" property="paperId" />
|
|
|
<!-- 映射数据库表的 answer_id 列到 Java 实体类的 answerId 属性 -->
|
|
|
<result column="answer_id" property="answerId" />
|
|
|
<!-- 映射数据库表的 qu_id 列到 Java 实体类的 quId 属性 -->
|
|
|
<result column="qu_id" property="quId" />
|
|
|
<!-- 映射数据库表的 is_right 列到 Java 实体类的 isRight 属性 -->
|
|
|
<result column="is_right" property="isRight" />
|
|
|
<!-- 映射数据库表的 checked 列到 Java 实体类的 checked 属性 -->
|
|
|
<result column="checked" property="checked" />
|
|
|
<!-- 映射数据库表的 sort 列到 Java 实体类的 sort 属性 -->
|
|
|
<result column="sort" property="sort" />
|
|
|
<!-- 映射数据库表的 abc 列到 Java 实体类的 abc 属性 -->
|
|
|
<result column="abc" property="abc" />
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 通用查询结果列 -->
|
|
|
<!-- 定义一段可复用的 SQL 片段,包含常用的查询列,可在其他 SQL 语句中通过 <include> 标签引用 -->
|
|
|
<sql id="Base_Column_List">
|
|
|
`id`,`paper_id`,`answer_id`,`qu_id`,`is_right`,`checked`,`sort`,`abc`
|
|
|
</sql>
|
|
|
|
|
|
<!-- 定义一个扩展的结果映射,继承自 BaseResultMap,将结果映射到 Java DTO 类 com.yf.exam.modules.paper.dto.ext.PaperQuAnswerExtDTO -->
|
|
|
<resultMap id="ListResultMap"
|
|
|
type="com.yf.exam.modules.paper.dto.ext.PaperQuAnswerExtDTO"
|
|
|
extends="BaseResultMap">
|
|
|
<!-- 映射数据库表的 image 列到 Java DTO 类的 image 属性 -->
|
|
|
<result column="image" property="image" />
|
|
|
<!-- 映射数据库表的 content 列到 Java DTO 类的 content 属性 -->
|
|
|
<result column="content" property="content" />
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 定义一个查询方法,用于根据试卷 ID 和题目 ID 查询相关答案列表 -->
|
|
|
<!-- id 属性为查询方法的唯一标识,对应 Java Mapper 接口中的方法名 -->
|
|
|
<!-- resultMap 属性指定使用 ListResultMap 进行结果映射 -->
|
|
|
<select id="list" resultMap="ListResultMap">
|
|
|
<!-- 查询指定列,包括 el_paper_qu_answer 表和 el_qu_answer 表的相关列 -->
|
|
|
SELECT pa.`id`,pa.`paper_id`,pa.`answer_id`,pa.`qu_id`,pa.`checked`,pa.`sort`,pa.`abc`,qa.content,qa.image
|
|
|
FROM el_paper_qu_answer pa
|
|
|
<!-- 左连接 el_qu_answer 表,通过 answer_id 和 id 关联 -->
|
|
|
LEFT JOIN el_qu_answer qa ON pa.answer_id=qa.id
|
|
|
<!-- 根据传入的 paperId 和 quId 进行筛选 -->
|
|
|
WHERE pa.paper_id=#{paperId} AND pa.qu_id=#{quId}
|
|
|
<!-- 按 sort 字段升序排序 -->
|
|
|
ORDER BY pa.sort ASC
|
|
|
</select>
|
|
|
|
|
|
<!-- 定义一个查询方法,用于根据试卷 ID 和题目 ID 查询相关答案列表,用于展示场景 -->
|
|
|
<!-- id 属性为查询方法的唯一标识,对应 Java Mapper 接口中的方法名 -->
|
|
|
<!-- resultMap 属性指定使用 ListResultMap 进行结果映射 -->
|
|
|
<select id="listForShow" resultMap="ListResultMap">
|
|
|
<!-- 查询指定列,包括 el_paper_qu_answer 表和 el_qu_answer 表的相关列,包含 is_right 列 -->
|
|
|
SELECT pa.`id`,pa.`paper_id`,pa.`answer_id`,pa.`qu_id`,pa.`checked`,pa.`sort`,pa.`abc`,qa.content,qa.is_right,qa.image
|
|
|
FROM el_paper_qu_answer pa
|
|
|
<!-- 左连接 el_qu_answer 表,通过 answer_id 和 id 关联 -->
|
|
|
LEFT JOIN el_qu_answer qa ON pa.answer_id=qa.id
|
|
|
<!-- 根据传入的 paperId 和 quId 进行筛选 -->
|
|
|
WHERE pa.paper_id=#{paperId} AND pa.qu_id=#{quId}
|
|
|
<!-- 按 sort 字段升序排序 -->
|
|
|
ORDER BY pa.sort ASC
|
|
|
</select>
|
|
|
|
|
|
</mapper>
|