mybatis 如何访问方法获取子节点
2017-03-22 11:13
134 查看
<!--查询组织下面的所有子组织-->
<!--数据库先创建函数:如下-->
<!--
CREATE FUNCTION `getCatalogLst`(rootId INT)
RETURNS varchar(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM exp_catalog where FIND_IN_SET(parent_id,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
-->
<select id="getCatalogByParentId" resultType="ExpCatalogVO">
SELECT * FROM EXP_CATALOG WHERE FIND_IN_SET(ID,getCatalogLst(#{parentId}));
</select>
<!--数据库先创建函数:如下-->
<!--
CREATE FUNCTION `getCatalogLst`(rootId INT)
RETURNS varchar(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM exp_catalog where FIND_IN_SET(parent_id,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
-->
<select id="getCatalogByParentId" resultType="ExpCatalogVO">
SELECT * FROM EXP_CATALOG WHERE FIND_IN_SET(ID,getCatalogLst(#{parentId}));
</select>
相关文章推荐
- SpringMVC + Spring + MyBatis 学习笔记:在类和方法上都使用RequestMapping如何访问
- Java如何从XML文件中获取节点信息的代码解析 Document方法
- JavaScript中访问节点对象的方法有哪些如何使用
- JavaScript DOM概述(获取节点的方法/节点的访问关系/节点创建添加删除复制/属性获取设置删除)
- JavaScript中访问节点对象的方法有哪些如何使用
- JavaScript获取HTML DOM节点元素的方法的总结
- 如何在线程函数中访问主窗体中的控件,并调用控件的方法
- 如何获取客户端MAC地址(三个方法)
- 如何插入一条记录获取插入后的自动增长ID列的方法.
- 如何获取客户端MAC地址(三个方法)
- 如何用MapX访问Oracle空间数据库原理及方法
- 如何C#中实现在TreeView查找某一节点(两种方法)
- 访问Com的属性和方法时,如何降低系统的开销.
- 教你如何解决XP局域网访问故障方法
- 如何C#中实现在TreeView查找某一节点(两种方法)
- 在被调用方法中如何获取调用方的相关信息
- 如何解决XP局域网访问故障方法
- 如何获取上次访问的url地址
- 关于客户端如何获取服务器时间的方法
- asp.net中, 如何在后台获取访问这个页面的用户的名字?