SearchMapper.xml
1.84 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="com.example.dahua.dao.SearchDao" >
<resultMap id="resultMap" type="com.example.dahua.bean.CheckIn">
<result column="arr" property="out" jdbcType="VARCHAR" />
<result column="iscuccess" property="isSuccess" jdbcType="INTEGER" />
</resultMap>
<insert id="checkIn" parameterType="com.example.dahua.bean.CheckIn" statementType="CALLABLE" >
{call AttendanceService(
#{deviceId,mode=IN} , #{cardNo,mode=IN} , #{funNo,mode=IN}, #{flag,mode=IN} , #{checkTime,mode=IN},
#{out,mode=OUT,jdbcType=VARCHAR,resultMap=resultMap},#{isSuccess,mode=OUT,jdbcType=INTEGER,resultMap=resultMap}
)}
</insert>
<resultMap id="User" type="com.example.dahua.bean.User" >
<result column="school_id" property="schoolId" jdbcType="INTEGER" />
<result column="class_id" property="classId" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="student_id" property="studentId" jdbcType="INTEGER" />
</resultMap>
<select id="selectUserByCardNum" parameterType="java.lang.String" resultMap="User">
select school_id , class_id ,name ,student_id from
(select top 1 b.school_id, b.class_id, b.name, student_id from SZ_V_Card a
inner join SZ_V_School_Student b on a.user_id = b.student_id
and b.role_state = 1 where a.type = 2 and a.num = #{cardNum}
union
select top 1 b.school_id, 0 as class_id, b.name,b.teacher_id as student_id from SZ_V_Card a
inner join SZ_V_School_Teacher b on a.user_id = b.teacher_id
and b.role_state = 1 where a.type = 0 and a.num = #{cardNum}
) x
</select>
</mapper>