xiangpei
2025-05-14 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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.mindskip.xzs.repository.SubjectDeptMapper">
 
    <insert id="add" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
        INSERT INTO t_subject_dept(subject_id, dept_id) VALUES
        <foreach collection="subjectDeptList" item="item" separator=",">
            (#{item.subjectId}, #{item.deptId})
        </foreach>
 
    </insert>
 
    <delete id="removeBySubjectId">
        DELETE
        FROM t_subject_dept
        WHERE subject_id = #{subjectId}
    </delete>
 
    <select id="deptBySubjectId" resultType="com.mindskip.xzs.domain.vo.SubjectDeptVO">
        SELECT tdq.dept_id, td.name as deptName
        FROM t_subject_dept tdq
                 INNER JOIN t_department td ON td.id = tdq.dept_id
        WHERE tdq.subject_id = #{subjectId}
    </select>
 
    <select id="getByDeptId" resultType="com.mindskip.xzs.vo.SubjectVO">
        SELECT
               s.id,
               s.name as subjectName
        FROM
             t_subject_dept sd
                 INNER JOIN t_subject s ON sd.subject_id = s.id AND sd.dept_id = #{deptId} AND s.deleted = 0
    </select>
 
    <delete id="deleteByDeptId">
        DELETE FROM t_subject_dept WHERE dept_id = #{deptId}
    </delete>
 
</mapper>