<?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>
|