| <?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.matrix.system.hive.dao.AnswerDao"> | 
|     <!-- 定义Answer 的复杂关联map --> | 
|     <resultMap type="com.matrix.system.hive.bean.Answer" id="AnswerMap"> | 
|             <id property="id" column="id" /> | 
|             <result property="questionId" column="question_id" /> | 
|             <result property="answer" column="answer" /> | 
|             <result property="orderField" column="order_field" /> | 
|     </resultMap> | 
|      | 
|      | 
|     <!-- 定义Answer 的简单map  ,本map不添加其他的关联属性 --> | 
|     <resultMap type="com.matrix.system.hive.bean.Answer" id="AnswerSimpleMap"> | 
|             <id property="id" column="id" /> | 
|             <result property="questionId" column="question_id" /> | 
|             <result property="answer" column="answer" /> | 
|             <result property="orderField" column="order_field" /> | 
|     </resultMap> | 
|      | 
|      | 
|      | 
|     <!--  插入方法   --> | 
|     <insert id="insert" parameterType="com.matrix.system.hive.bean.Answer" | 
|         useGeneratedKeys="true" keyProperty="id"> | 
|         INSERT INTO answer ( | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|         ) | 
|     VALUES ( | 
|             #{id}, | 
|             #{questionId}, | 
|             #{answer}, | 
|             #{orderField} | 
|     ) | 
|     </insert> | 
|      | 
|      | 
|      | 
|     <!--  批量插入   --> | 
|     <insert id="batchInsert" parameterType="java.util.List"> | 
|         INSERT INTO answer ( | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|         ) | 
|     VALUES  | 
|     <foreach collection="list" item="item" index="index" separator=",">( | 
|             #{item.id}, | 
|             #{item.questionId}, | 
|             #{item.answer}, | 
|             #{item.orderField} | 
|     )</foreach> | 
|     </insert> | 
|      | 
|      | 
|      | 
|      | 
|      | 
|     <!--  根据Map更新 部分更新   --> | 
|     <update id="updateByMap" parameterType="java.util.HashMap" > | 
|         UPDATE answer | 
|         <set> | 
|             <if test="_parameter.containsKey('questionId')"> | 
|                     question_id = #{questionId}, | 
|             </if>         | 
|             <if test="_parameter.containsKey('answer')"> | 
|                     answer = #{answer}, | 
|             </if>     | 
|             <if test="_parameter.containsKey('orderField')"> | 
|                     order_field = #{orderField}, | 
|             </if>     | 
|         </set> | 
|         WHERE id=#{id}  | 
|     </update> | 
|      | 
|      | 
|      | 
|     <!--  根据对象更新 部分更新   --> | 
|     <update id="updateByModel" > | 
|         UPDATE answer | 
|         <set> | 
|                 <if test="(questionId!=null and questionId!='') or (questionId!='' and questionId==0)"> | 
|                     question_id = #{questionId}, | 
|                 </if>         | 
|                 <if test="(answer!=null and answer!='') or (answer!='' and answer==0)"> | 
|                     answer = #{answer}, | 
|                 </if>     | 
|                 <if test="(orderField !=null and orderField!='') or (orderField!='' and orderField==0)"> | 
|                      order_field = #{orderField} , | 
|                 </if>     | 
|         </set> | 
|         WHERE id=#{id}  | 
|     </update> | 
|      | 
|      | 
|     <!-- 批量删除 --> | 
|     <delete id="deleteByIds" parameterType="java.util.List"> | 
|         delete from answer where  id in | 
|         <foreach collection="list" index="index" item="item" open="(" | 
|             separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </delete> | 
|          | 
|     <!-- 根据id删除--> | 
|     <delete id="deleteById" > | 
|         DELETE FROM answer | 
|         where  id=#{id}  | 
|     </delete> | 
|      | 
|     <!-- 根据对象删除--> | 
|     <delete id="deleteByModel" > | 
|         DELETE FROM answer | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="(record.id!=null and record.id!='') or (record.id!='' and record.id==0)"> | 
|                 and id = #{record.id}  | 
|             </if> | 
|             <if test="(record.questionId!=null and record.questionId!='') or (record.questionId!='' and record.questionId==0)"> | 
|                 and question_id = #{record.questionId}  | 
|             </if> | 
|             <if test="(record.orderField !=null and record.orderField!='') or (record.orderField!='' and record.orderField==0)"> | 
|                 and order_field = #{record.orderField}  | 
|             </if> | 
|             <if test="(record.answer!=null and record.answer!='') or (record.answer!='' and record.answer==0)"> | 
|                 and answer = #{record.answer}  | 
|             </if> | 
|         </if> | 
|     </delete> | 
|      | 
|      | 
|      | 
|     <!-- 分页查询 --> | 
|     <select id="selectInPage" resultMap="AnswerMap"> | 
|         select  | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|         from answer | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="(record.id!=null and record.id!='') or (record.id!='' and record.id==0)"> | 
|                 and id  = #{record.id}  | 
|             </if> | 
|             <if test="(record.questionId!=null and record.questionId!='') or (record.questionId!='' and record.questionId==0)"> | 
|                 and question_id  = #{record.questionId}  | 
|             </if> | 
|             <if test="(record.answer!=null and record.answer!='') or (record.answer!='' and record.answer==0)"> | 
|                 and answer  = #{record.answer}  | 
|             </if> | 
|             <if test="(record.orderField !=null and record.orderField!='') or (record.orderField!='' and record.orderField==0)"> | 
|                 and order_field = #{record.orderField}  | 
|             </if> | 
|         </if> | 
|         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
|             <if test="pageVo.sort !=null  and pageVo.order !=null"> | 
|                 order by | 
|                 ${pageVo.sort} ${pageVo.order} | 
|             </if> | 
|             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
|                 limit | 
|                 #{pageVo.offset},#{pageVo.limit} | 
|             </if> | 
|         </if> | 
|     </select> | 
|      | 
|     <!-- 查询总条数 --> | 
|     <select id="selectTotalRecord"    resultType="java.lang.Integer"> | 
|     select count(*) | 
|     from answer | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="(record.id!=null and record.id!='') or (record.id!='' and record.id==0)"> | 
|             and id = #{record.id}  | 
|             </if> | 
|             <if test="(record.questionId!=null and record.questionId!='') or (record.questionId!='' and record.questionId==0)"> | 
|             and question_id = #{record.questionId}  | 
|             </if> | 
|             <if test="(record.answer!=null and record.answer!='') or (record.answer!='' and record.answer==0)"> | 
|             and answer = #{record.answer}  | 
|             </if> | 
|             <if test="(record.orderField !=null and record.orderField!='') or (record.orderField!='' and record.orderField==0)"> | 
|                 and order_field = #{record.orderField}  | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <!-- 根据id查询--> | 
|     <select id="selectById" resultMap="AnswerMap"> | 
|         select  | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|              | 
|         from answer | 
|         where  id=#{id}  | 
|     </select>     | 
|      | 
|      | 
|     <!-- 根据id 锁表查询--> | 
|     <select id="selectForUpdate" resultMap="AnswerMap"> | 
|         select  | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|         from answer | 
|         where  id=#{id}  | 
|         for update | 
|     </select>     | 
|      | 
|      | 
|      | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModel" resultMap="AnswerMap"> | 
|         select  | 
|             id, | 
|             question_id, | 
|             answer, | 
|             order_field | 
|         from answer | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="(record.id!=null and record.id!='') or (record.id!='' and record.id==0)"> | 
|                 and id = #{record.id}  | 
|             </if> | 
|             <if test="(record.questionId!=null and record.questionId!='') or (record.questionId!='' and record.questionId==0)"> | 
|                 and question_id = #{record.questionId}  | 
|             </if> | 
|             <if test="(record.answer!=null and record.answer!='') or (record.answer!='' and record.answer==0)"> | 
|                 and answer = #{record.answer}  | 
|             </if> | 
|             <if test="(record.orderField !=null and record.orderField!='') or (record.orderField!='' and record.orderField==0)"> | 
|                 and order_field = #{record.orderField}  | 
|             </if> | 
|         </if> | 
|     </select> | 
| </mapper> |