StudentTestMapper.xml 6.45 KB
<?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="StudentTestMapper">
	
	<!--表名 -->
	<sql id="tableName">
		SV_STUDENTTEST
	</sql>
	
	<!-- 字段 -->
	<sql id="Field">
		STUDENT_ID,	
		TEST_ID,	
		PAPER_ID,	
		SCORE,	
		CLASS_ID,	
		STUDENTTEST_ID
	</sql>
	
	<!-- 字段值 -->
	<sql id="FieldValue">
		#{STUDENT_ID},	
		#{TEST_ID},	
		#{PAPER_ID},	
		#{SCORE},	
		#{CLASS_ID},	
		#{STUDENTTEST_ID}
	</sql>
	
	<!-- 新增-->
	<insert id="save" parameterType="pd">
		insert into 
	<include refid="tableName"></include>
		(
	<include refid="Field"></include>
		) values (
	<include refid="FieldValue"></include>
		)
	</insert>
	
	<!-- 删除-->
	<delete id="delete" parameterType="pd">
		delete from
		<include refid="tableName"></include>
		where  1 =1 
		<if test="STUDENTTEST_ID != null and STUDENTTEST_ID != ''">
			and STUDENTTEST_ID = #{STUDENTTEST_ID}
		</if>
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="TEST_ID != null and TEST_ID != ''">
			and TEST_ID = #{TEST_ID}
		</if>
		<if test="PAPER_ID != null and PAPER_ID != ''">
			and PAPER_ID = #{PAPER_ID}
		</if>
		<if test="CLASS_ID != null and CLASS_ID != ''">
			and CLASS_ID = #{CLASS_ID}
		</if>
	</delete>
	
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			STUDENT_ID = #{STUDENT_ID},
			TEST_ID = #{TEST_ID},
			PAPER_ID = #{PAPER_ID},
			SCORE = #{SCORE},
			CLASS_ID = #{CLASS_ID},
		STUDENTTEST_ID = STUDENTTEST_ID
		where 
		STUDENTTEST_ID = #{STUDENTTEST_ID}
	</update>
	
	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			STUDENTTEST_ID = #{STUDENTTEST_ID}
	</select>
	
	<!-- 列表 -->
	<select id="datalistPage" parameterType="page" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 1=1
		<if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 -->
			and
				(
				<!--	根据需求自己加检索条件
					字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
					 or 
					字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
				-->
				)
		</if>
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 1= 1
		<if test="TEST_ID != null and TEST_ID != ''"><!-- 关键词检索 -->
			and (TEST_ID = #{TEST_ID})
		</if>
		
		<if test="PAPER_ID != null and PAPER_ID != ''"><!-- 关键词检索 -->
			and (PAPER_ID = #{PAPER_ID})
		</if>
		
		<if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
			and (CLASS_ID = #{CLASS_ID})
		</if>
		
		<if test="STUDENT_ID != null and STUDENT_ID != ''"><!-- 关键词检索 -->
			and (STUDENT_ID = #{STUDENT_ID})
		</if>
		
	</select>
	
	
	<select id="reportListData"  parameterType="pd" resultType="pd">
	
		SELECT
		`NAME` AS NAME,
		sv_studenttest.SCORE AS SCORE,
		sv_testpaper.TOTAL_SCORE AS TOTAL_SCORE,
		CREATE_DATE,
		sv_testpaper.AVG_SCORE AS AVG_SCORE,
		sv_testpaper.HIGHT_SCORE AS MAX_SCORE
		FROM
			sv_testpaper
		LEFT JOIN sv_studenttest ON sv_testpaper.TESTPAPER_ID = sv_studenttest.TEST_ID
		WHERE 1 = 1 
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and sv_studenttest.STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="TEACHER_ID != null and TEACHER_ID != ''">
			and sv_testpaper.TEACHER_ID = #{TEACHER_ID}
		</if>
		<if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &gt; #{START_DATE})
		</if>
		<if test="END_DATE != null and END_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &lt; #{END_DATE})
		</if>
		<if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
			and (sv_testpaper.SUBJECT_ID = #{SUBJECT_ID})
		</if>
		
		order by CREATE_DATE
		
		
	</select>
	
	
	<select id="reportClassListData" parameterType="pd" resultType="pd">
		SELECT
			sv_student.ID,
			sv_student.`NAME` AS NAME,
			sv_testpaper.`NAME` AS TNAME,
			sv_studenttest.SCORE AS SCORE,
			sv_testpaper.TOTAL_SCORE AS TOTAL_SCORE,
			sv_testpaper.CREATE_DATE,
			sv_testpaper.AVG_SCORE AS AVG_SCORE,
			sv_testpaper.HIGHT_SCORE AS MAX_SCORE
		FROM
			sv_student
		LEFT JOIN sv_studenttest ON sv_student.ID = sv_studenttest.STUDENT_ID
		LEFT JOIN sv_testpaper ON sv_testpaper.TESTPAPER_ID = sv_studenttest.TEST_ID
		WHERE 1 = 1
		<if test="CLASS_ID != null and CLASS_ID != ''">
			AND	sv_student.CLASS_ID = #{CLASS_ID}
			AND sv_testpaper.SCLASS_ID = #{CLASS_ID}
		</if>
		AND sv_testpaper.`NAME` IS NOT NULL
		<if test="TEACHER_ID != null and TEACHER_ID != ''">
			and sv_testpaper.TEACHER_ID = #{TEACHER_ID}
		</if>
		<if test="TEST_TYPE != null and TEST_TYPE != ''">
			and sv_testpaper.TEST_TYPE = #{TEST_TYPE}
		</if>
		<if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &gt; #{START_DATE})
		</if>
		<if test="END_DATE != null and END_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &lt; #{END_DATE})
		</if>
		<if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
			and (sv_testpaper.SUBJECT_ID = #{SUBJECT_ID})
		</if>
		ORDER BY
			sv_student.NUMBER,
			sv_testpaper.CREATE_DATE
	</select>
	
		<select id="reportListDataCalc"  parameterType="pd" resultType="pd">
	
		SELECT
		`NAME` AS NAME,
		sv_studenttest.SCORE AS SCORE,
		sv_testpaper.TOTAL_SCORE AS TOTAL_SCORE,
		CREATE_DATE,
		sv_studenttest.STUDENT_ID AS STUDENT_ID
		FROM
			sv_testpaper
		LEFT JOIN sv_studenttest ON sv_testpaper.TESTPAPER_ID = sv_studenttest.TEST_ID
		WHERE 1 = 1 
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and sv_studenttest.STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &gt; #{START_DATE})
		</if>
		<if test="END_DATE != null and END_DATE != ''"><!-- 关键词检索 -->
			and (CREATE_DATE &lt; #{END_DATE})
		</if>
		
		order by CREATE_DATE
		
		
	</select>
	
	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="String">
		delete from
		<include refid="tableName"></include>
		where 
			STUDENTTEST_ID in
		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>
	
	<!-- fh313596790qq(青苔) -->
</mapper>