<?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.yuanchu.mom.mapper.DepartmentMapper">
|
<select id="selectDepartment" resultType="com.yuanchu.mom.pojo.Department">
|
WITH RECURSIVE DepartmentHierarchy AS (
|
SELECT id, name, father_id
|
FROM department
|
WHERE father_id IS NULL
|
|
UNION ALL
|
|
SELECT d.id, d.name, d.father_id
|
FROM department d
|
JOIN DepartmentHierarchy dh ON d.father_id = dh.id
|
)
|
SELECT id, name, father_id
|
FROM DepartmentHierarchy;
|
</select>
|
<select id="showUserById" resultType="com.yuanchu.mom.dto.UserDto">
|
select * from (select id, name, age, email, phone,depart_id
|
from user where state=1 and SUBSTRING_INDEX(depart_id, ',', -1) in
|
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach> ) a
|
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
${ew.customSqlSegment}
|
</if>
|
</select>
|
<select id="selectSonById" resultType="java.lang.Integer">
|
WITH RECURSIVE DepartmentHierarchy AS (
|
SELECT id, name, father_id
|
FROM department
|
WHERE id = #{id}
|
UNION ALL
|
SELECT d.id, d.name, d.father_id
|
FROM department d
|
JOIN DepartmentHierarchy dh ON d.father_id = dh.id
|
)
|
SELECT id
|
FROM DepartmentHierarchy
|
order by id desc;
|
</select>
|
</mapper>
|