From c9d04bc519b73f7fc4841c34e2f15fca9db7aad2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 31 五月 2024 14:08:30 +0800 Subject: [PATCH] 重构:service、mapper plus化,xml删除多余sql --- src/main/resources/mapper/QuestionMapper.xml | 283 +++++++++++++------------------------------------------- 1 files changed, 65 insertions(+), 218 deletions(-) diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml index 37b67f1..c647f09 100644 --- a/src/main/resources/mapper/QuestionMapper.xml +++ b/src/main/resources/mapper/QuestionMapper.xml @@ -1,231 +1,78 @@ <?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.ycl.jxkg.mapper.QuestionMapper"> - <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.Question"> - <id column="id" jdbcType="INTEGER" property="id" /> - <result column="question_type" jdbcType="INTEGER" property="questionType" /> - <result column="subject_id" jdbcType="INTEGER" property="subjectId" /> - <result column="score" jdbcType="INTEGER" property="score" /> - <result column="grade_level" jdbcType="INTEGER" property="gradeLevel" /> - <result column="difficult" jdbcType="INTEGER" property="difficult" /> - <result column="correct" jdbcType="VARCHAR" property="correct" /> - <result column="info_text_content_id" jdbcType="INTEGER" property="infoTextContentId" /> - <result column="create_user" jdbcType="INTEGER" property="createUser" /> - <result column="status" jdbcType="INTEGER" property="status" /> - <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> - <result column="deleted" jdbcType="BIT" property="deleted" /> - </resultMap> - <sql id="Base_Column_List"> - id, question_type, subject_id, score, grade_level, difficult, correct, info_text_content_id, + <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.Question"> + <id column="id" jdbcType="INTEGER" property="id"/> + <result column="question_type" jdbcType="INTEGER" property="questionType"/> + <result column="subject_id" jdbcType="INTEGER" property="subjectId"/> + <result column="score" jdbcType="INTEGER" property="score"/> + <result column="grade_level" jdbcType="INTEGER" property="gradeLevel"/> + <result column="difficult" jdbcType="INTEGER" property="difficult"/> + <result column="correct" jdbcType="VARCHAR" property="correct"/> + <result column="info_text_content_id" jdbcType="INTEGER" property="infoTextContentId"/> + <result column="create_user" jdbcType="INTEGER" property="createUser"/> + <result column="status" jdbcType="INTEGER" property="status"/> + <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> + <result column="deleted" jdbcType="BIT" property="deleted"/> + </resultMap> + <sql id="Base_Column_List"> + id + , question_type, subject_id, score, grade_level, difficult, correct, info_text_content_id, create_user, status, create_time, deleted - </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List" /> - from t_question - where id = #{id,jdbcType=INTEGER} - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> - delete from t_question - where id = #{id,jdbcType=INTEGER} - </delete> - <insert id="insert" parameterType="com.ycl.jxkg.domain.Question" useGeneratedKeys="true" keyProperty="id"> - insert into t_question (id, question_type, subject_id, - score, grade_level, difficult, - correct, info_text_content_id, create_user, - status, create_time, deleted - ) - values (#{id,jdbcType=INTEGER}, #{questionType,jdbcType=INTEGER}, #{subjectId,jdbcType=INTEGER}, - #{score,jdbcType=INTEGER}, #{gradeLevel,jdbcType=INTEGER}, #{difficult,jdbcType=INTEGER}, - #{correct,jdbcType=VARCHAR}, #{infoTextContentId,jdbcType=INTEGER}, #{createUser,jdbcType=INTEGER}, - #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=BIT} - ) - </insert> - <insert id="insertSelective" parameterType="com.ycl.jxkg.domain.Question" useGeneratedKeys="true" keyProperty="id"> - insert into t_question - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> - id, - </if> - <if test="questionType != null"> - question_type, - </if> - <if test="subjectId != null"> - subject_id, - </if> - <if test="score != null"> - score, - </if> - <if test="gradeLevel != null"> - grade_level, - </if> - <if test="difficult != null"> - difficult, - </if> - <if test="correct != null"> - correct, - </if> - <if test="infoTextContentId != null"> - info_text_content_id, - </if> - <if test="createUser != null"> - create_user, - </if> - <if test="status != null"> - status, - </if> - <if test="createTime != null"> - create_time, - </if> - <if test="deleted != null"> - deleted, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=INTEGER}, - </if> - <if test="questionType != null"> - #{questionType,jdbcType=INTEGER}, - </if> - <if test="subjectId != null"> - #{subjectId,jdbcType=INTEGER}, - </if> - <if test="score != null"> - #{score,jdbcType=INTEGER}, - </if> - <if test="gradeLevel != null"> - #{gradeLevel,jdbcType=INTEGER}, - </if> - <if test="difficult != null"> - #{difficult,jdbcType=INTEGER}, - </if> - <if test="correct != null"> - #{correct,jdbcType=VARCHAR}, - </if> - <if test="infoTextContentId != null"> - #{infoTextContentId,jdbcType=INTEGER}, - </if> - <if test="createUser != null"> - #{createUser,jdbcType=INTEGER}, - </if> - <if test="status != null"> - #{status,jdbcType=INTEGER}, - </if> - <if test="createTime != null"> - #{createTime,jdbcType=TIMESTAMP}, - </if> - <if test="deleted != null"> - #{deleted,jdbcType=BIT}, - </if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.ycl.jxkg.domain.Question"> - update t_question - <set> - <if test="questionType != null"> - question_type = #{questionType,jdbcType=INTEGER}, - </if> - <if test="subjectId != null"> - subject_id = #{subjectId,jdbcType=INTEGER}, - </if> - <if test="score != null"> - score = #{score,jdbcType=INTEGER}, - </if> - <if test="gradeLevel != null"> - grade_level = #{gradeLevel,jdbcType=INTEGER}, - </if> - <if test="difficult != null"> - difficult = #{difficult,jdbcType=INTEGER}, - </if> - <if test="correct != null"> - correct = #{correct,jdbcType=VARCHAR}, - </if> - <if test="infoTextContentId != null"> - info_text_content_id = #{infoTextContentId,jdbcType=INTEGER}, - </if> - <if test="createUser != null"> - create_user = #{createUser,jdbcType=INTEGER}, - </if> - <if test="status != null"> - status = #{status,jdbcType=INTEGER}, - </if> - <if test="createTime != null"> - create_time = #{createTime,jdbcType=TIMESTAMP}, - </if> - <if test="deleted != null"> - deleted = #{deleted,jdbcType=BIT}, - </if> - </set> - where id = #{id,jdbcType=INTEGER} - </update> - <update id="updateByPrimaryKey" parameterType="com.ycl.jxkg.domain.Question"> - update t_question - set question_type = #{questionType,jdbcType=INTEGER}, - subject_id = #{subjectId,jdbcType=INTEGER}, - score = #{score,jdbcType=INTEGER}, - grade_level = #{gradeLevel,jdbcType=INTEGER}, - difficult = #{difficult,jdbcType=INTEGER}, - correct = #{correct,jdbcType=VARCHAR}, - info_text_content_id = #{infoTextContentId,jdbcType=INTEGER}, - create_user = #{createUser,jdbcType=INTEGER}, - status = #{status,jdbcType=INTEGER}, - create_time = #{createTime,jdbcType=TIMESTAMP}, - deleted = #{deleted,jdbcType=BIT} - where id = #{id,jdbcType=INTEGER} - </update> + </sql> + <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.vo.admin.question.QuestionPageRequestVO"> + SELECT + <include refid="Base_Column_List"/> + FROM t_question + <where> + and deleted=0 + <if test="id != null "> + and id= #{id} + </if> + <if test="level != null "> + and grade_level= #{level} + </if> + <if test="subjectId != null "> + and subject_id= #{subjectId} + </if> + <if test="questionType != null "> + and question_type= #{questionType} + </if> + <if test="content != null"> + and info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') + ) + </if> + </where> + </select> - <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.vo.admin.question.QuestionPageRequestVO"> - SELECT - <include refid="Base_Column_List"/> - FROM t_question - <where> - and deleted=0 - <if test="id != null "> - and id= #{id} - </if> - <if test="level != null "> - and grade_level= #{level} - </if> - <if test="subjectId != null "> - and subject_id= #{subjectId} - </if> - <if test="questionType != null "> - and question_type= #{questionType} - </if> - <if test="content != null"> - and info_text_content_id in (SELECT id FROM t_text_content WHERE content like concat('%',#{content},'%') ) - </if> - </where> - </select> + <select id="selectByIds" resultMap="BaseResultMap"> + SELECT + <include refid="Base_Column_List"/> + FROM t_question where id in + <foreach item="id" collection="ids" open="(" separator="," + close=")"> + #{id} + </foreach> + </select> + <select id="selectAllCount" resultType="java.lang.Integer"> + SELECT count(*) + from t_question + where deleted = 0 + </select> - <select id="selectByIds" resultMap="BaseResultMap" > - SELECT - <include refid="Base_Column_List"/> - FROM t_question where id in - <foreach item="id" collection="ids" open="(" separator="," - close=")"> - #{id} - </foreach> - </select> - - - <select id="selectAllCount" resultType="java.lang.Integer"> - SELECT count(*) from t_question where deleted=0 - </select> - - <select id="selectCountByDate" resultType="com.ycl.jxkg.domain.other.KeyValue"> - SELECT create_time as name,COUNT(create_time) as value from - ( - SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_question - WHERE deleted=0 and create_time between #{startTime} and #{endTime} - ) a - GROUP BY create_time - </select> + <select id="selectCountByDate" resultType="com.ycl.jxkg.domain.other.KeyValue"> + SELECT create_time as name, COUNT(create_time) as value + from + ( + SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as create_time from t_question + WHERE deleted=0 and create_time between #{startTime} and #{endTime} + ) a + GROUP BY create_time + </select> </mapper> -- Gitblit v1.8.0