UniversityMajorMapper.xml 1.99 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.sincere.student.mapper.UniversityMajorMapper">

    <resultMap id="UniversityMajorMap" type="com.sincere.student.model.UniversityMajor">
        <result column="university_id" property="universityId"/>
        <result column="major_id" property="majorId"/>
    </resultMap>

    <resultMap id="MajorMap" type="com.sincere.student.model.Major">
        <result column="f_id" property="id"/>
        <result column="f_major" property="major"/>
        <collection property="children" ofType="com.sincere.student.model.Major">
            <result column="s_id" property="id"/>
            <result column="s_major" property="major"/>
        </collection>
    </resultMap>

    <insert id="insertBatch" parameterType="java.util.List">
        insert into university_relate_major ( university_id , major_id)
        values
        <foreach collection="list" item="emp" separator=",">
            (#{emp.universityId,jdbcType=INTEGER}, #{emp.majorId,jdbcType=INTEGER})
        </foreach>
    </insert>

    <delete id="deleteByUniversityId" parameterType="java.lang.Integer">
        delete university_relate_major where university_id = #{universityId}
    </delete>

    <select id="selectUniversityMajor" parameterType="java.lang.Integer" resultMap="MajorMap">
        select f.id as f_id , f.major as f_major , s.id as s_id , s.major as s_major from
        university_major s
        join university_major f on f.id = s.p_id
        join university_relate_major r on s.id = r.major_id
        where r.university_id = #{id}
    </select>

    <select id="selectIdByMajor" parameterType="java.util.Map" resultType="java.lang.Integer">
        select m.id from university_info info join university_relate_major rm on info.id=rm.university_id
        join university_major m on rm.major_id = m.id
        where m.major = #{major} and info.id = #{id}
    </select>
</mapper>