<?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>