StudentMapper.xml 5.5 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="StudentMapper">
	
	<!--表名 -->
	<sql id="tableName">
		SV_STUDENT
	</sql>
	
	<!-- 字段 -->
	<sql id="Field">
		NAME,	
		SNO,	
		NUMBER,	
		SEX,	
		GROUPID,	
		SIGN_NO,	
		PARENT_NAME,	
		PARENT_PHONE,	
		KEYPAD_ID,	
		REMARK,	
		ID
	</sql>
	
	<!-- 字段值 -->
	<sql id="FieldValue">
		#{NAME},	
		#{SNO},	
		#{NUMBER},	
		#{SEX},	
		#{GROUPID},	
		#{SIGN_NO},	
		#{PARENT_NAME},	
		#{PARENT_PHONE},	
		#{KEYPAD_ID},	
		#{REMARK},	
		#{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 
			ID = #{ID}
	</delete>
	
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			NAME = #{NAME},
			SNO = #{SNO},
			NUMBER = #{NUMBER},
			SEX = #{SEX},
			GROUPID = #{GROUPID},
			SIGN_NO = #{SIGN_NO},
			PARENT_NAME = #{PARENT_NAME},
			PARENT_PHONE = #{PARENT_PHONE},
			KEYPAD_ID = #{KEYPAD_ID},
			REMARK = #{REMARK},
		ID = #{ID}
		where 
		ID = #{ID}
	</update>
	
	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			ID = #{ID}
	</select>
	
	<!-- 通过ID获取数据 -->
	<select id="findByName" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			NAME = #{NAME}
	</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
				(
					NAME LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
					 or 
					PARENT_NAME LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
					 or 
					SNO LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
					 or 
					NUMBER LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
					 or 
					PARENT_PHONE LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
					 or 
					KEYPAD_ID LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
				)
		</if>
		
		order by  (sv_student.NUMBER ) * 1,(sv_student.KEYPAD_ID * 1),(sv_student.SNO*1)
	</select>
	
	<!-- 列表 -->
	<select id="dataclasslistPage" parameterType="page" resultType="pd">
		SELECT
			sv_student.`NAME`,
			sv_student.SNO,
			sv_student.NUMBER,
			sv_student.SEX,
			sv_student.GROUPID,
			sv_student.SIGN_NO,
			sv_student.PARENT_NAME,
			sv_student.PARENT_PHONE,
			sv_student.KEYPAD_ID,
			sv_student.REMARK,
			sv_student.ID
		FROM
			sv_student
		LEFT JOIN sv_classroster cr ON sv_student.ID = cr.STUDENT_ID
		LEFT JOIN sv_term ON cr.TEAMID = sv_term.TERM_ID
		WHERE
			1 = 1
		AND sv_term.START_DATE &lt; NOW()
		AND sv_term.END_DATE &gt; NOW()
		<if test="pd.CLASS_ID!= null and pd.CLASS_ID != ''"><!-- 关键词检索 -->
			AND cr.SCLASS_ID = #{pd.CLASS_ID}
		</if>
		order by (sv_student.NUMBER ) * 1,(sv_student.KEYPAD_ID * 1),(sv_student.SNO*1)
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		
		order by  (sv_student.NUMBER ) * 1,(sv_student.KEYPAD_ID * 1),(sv_student.SNO*1)
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAllClass" parameterType="pd" resultType="pd">
		select
			sv_student.`NAME`,
			sv_student.SNO,
			sv_student.NUMBER,
			sv_student.SEX,
			sv_student.GROUPID,
			sv_student.SIGN_NO,
			sv_student.PARENT_NAME,
			sv_student.PARENT_PHONE,
			sv_student.KEYPAD_ID,
			sv_student.REMARK,
			sv_student.ID
		from sv_student
		LEFT JOIN sv_classroster cr ON sv_student.ID = cr.STUDENT_ID
		LEFT JOIN sv_term ON cr.TEAMID = sv_term.TERM_ID
		WHERE
			1 = 1
		AND sv_term.START_DATE &lt; NOW()
		AND sv_term.END_DATE &gt; NOW()
		<if test="CLASS_ID!= null and CLASS_ID != ''"><!-- 关键词检索 -->
			AND cr.SCLASS_ID = #{CLASS_ID}
		</if>
		order by  (sv_student.NUMBER ) * 1,(sv_student.KEYPAD_ID * 1),(sv_student.SNO*1)
	</select>
	<!-- 列表(全部) -->
	<select id="listAllClassByTerm" parameterType="pd" resultType="pd">
		select
			sv_student.`NAME`,
			sv_student.SNO,
			sv_student.NUMBER,
			sv_student.SEX,
			sv_student.GROUPID,
			sv_student.SIGN_NO,
			sv_student.PARENT_NAME,
			sv_student.PARENT_PHONE,
			sv_student.KEYPAD_ID,
			sv_student.REMARK,
			sv_student.ID
		from sv_student
		LEFT JOIN sv_classroster cr ON sv_student.ID = cr.STUDENT_ID
		LEFT JOIN sv_term ON cr.TEAMID = sv_term.TERM_ID
		WHERE
			1 = 1
		<if test="pd.TERM_ID != null and pd.TERM_ID != ''"><!-- 关键词检索 -->
			AND sv_term.TERM_ID = #{pd.TERM_ID}
		</if>
		<if test="pd.CLASS_ID!= null and pd.CLASS_ID != ''"><!-- 关键词检索 -->
			AND cr.SCLASS_ID = #{pd.CLASS_ID}
		</if>
		order by (sv_student.NUMBER ) * 1,(sv_student.KEYPAD_ID * 1),(sv_student.SNO*1)
	</select>
	
	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="String">
		delete from
		<include refid="tableName"></include>
		where 
			ID in
		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>
	
	<!-- fh313596790qq(青苔) -->
</mapper>