mysql 添加一個函數 getChild
CREATE DEFINER=`root`@`localhost` FUNCTION `getChild`(rootId INT) RETURNS varchar(1000) CHARSET utf8
BEGIN
DECLARE ptemp VARCHAR(1000);
DECLARE ctemp VARCHAR(1000);
SET ptemp = '#';
SET ctemp =CAST(rootId AS CHAR);
WHILE ctemp IS NOT NULL DO
SET ptemp = CONCAT(ptemp,',',ctemp);
SELECT GROUP_CONCAT(id) INTO ctemp FROM fht_ams_dept
WHERE FIND_IN_SET(pid,ctemp)>0;
END WHILE;
RETURN ptemp;
END
@Query(value = " select id from fht_ams_dept where find_in_set(id,getChild(?1))" ,nativeQuery = true)
List<Long> findAllDeptId(Long pid);
遞歸獲取當前節點下面的所有子節點數據