读书人

ibatis+ext 动态菜单//sql一部分

发布时间: 2012-08-24 10:00:21 作者: rapoo

ibatis+ext 动态菜单//sql部分
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">



<sqlMap namespace="Menu">



<typeAlias alias="TreePanel" type="com.wenwu.entity.TreePanel" />

<typeAlias alias="TreeNode" type="com.wenwu.entity.TreeNode" />

<typeAlias alias="MenuFilter" type="com.wenwu.entity.filter.MenuFilter" />



<resultMap id="get-treepanel-result" column="ICOLLAPSIBLE"/>

<result property="split" column="split" />

<result property="rootVisible" column="rootVisible"/>

<result property="title" column="title"/>

<result property="lines" column="lines"/>

<result property="autoScroll" column="autoScroll"/>

<result property="xtype" column="xtype"/>

<result property="treePanelId" column="treepanel_id"/>

<result property="root" column="root" select="Menu.getTreeRootNode"/>

</resultMap>





<select id="getTreePanel" parameterresultMap="get-treepanel-result">

<![CDATA[

SELECT T.TREEPANEL_ID,

T.ICOLLAPSIBLE, T.SPLIT, T.ROOTVISIBLE,

'SUBSTR(''' || #authStr# || ''', AUTH_INDEX, 1) = 1 AND ' || T.ROOT as root,

T.TITLE,

T.LINES, T.AUTOSCROLL, T.XTYPE

FROM T_MENU_TREEPANEL T

WHERE SUBSTR(#authStr#, T.AUTH_INDEX, 1) = 1



]]>

</select>



<resultMap id="get-treerootnode-result" column="node_id" />

<result property="parentNodeId" column="parentnode_id" />

<result property="expanded" column="expanded" />

<result property="xtype" column="xtype" />

<result property="text" column="text" />

<result property="panelName" column="panelName" />

<result property="iconCls" column="iconCls" />

<result property="nodeType" column="nodeType" />

<result property="leaf" column="leaf" />

<result property="children" column="dynamic_sql" select="Menu.getTreeNode" />

</resultMap>



<!-- 获取菜单根节点 -->

<select id="getTreeRootNode" parameterresultMap="get-treerootnode-result">

<![CDATA[

SELECT T.NODE_ID,

#id# as dynamic_sql,

T.PARENTNODE_ID, T.TEXT, T.PANELNAME, T.XTYPE, T.EXPANDED, T.ICONCLS,

T.NODETYPE,

T.LEAF

FROM T_MENU_TREENODE T

WHERE $id$ = T.NODE_ID

]]>

</select>



<resultMap id="get-treenode-result" column="node_id" />

<result property="parentNodeId" column="parentnode_id" />

<result property="expanded" column="expanded" />

<result property="xtype" column="xtype" />

<result property="text" column="text" />

<result property="panelName" column="panelName" />

<result property="iconCls" column="iconCls" />

<result property="nodeType" column="nodeType" />

<result property="leaf" column="leaf" />

<!-- 递归获取所有下级菜单 -->

<result property="children" column="dynamic_sql" select="Menu.getTreeNode"/>

</resultMap>

<!-- 获取菜单 -->

<select id="getTreeNode" parameterresultMap="get-treenode-result">

<![CDATA[

SELECT T.NODE_ID,

#id# || '=' || T.PARENTNODE_ID || ' AND ' || T.NODE_ID as dynamic_sql,

T.PARENTNODE_ID, T.TEXT, T.PANELNAME, T.XTYPE, T.EXPANDED, T.ICONCLS,

T.NODETYPE,

T.LEAF

FROM T_MENU_TREENODE T

WHERE $id$ = T.PARENTNODE_ID

]]>

</select>



</sqlMap>

读书人网 >SQL Server

热点推荐