mybatis 一对多查询

<resultMap type="com.cloudsoaring.web.course.entity.PlanNodeEntity" id="selectPlanNodeMap">
        <result property="id" column="ID"/>
        <result property="planId" column="PLAN_ID"/>
        <result property="parentId" column="PARENT_ID"/>
        <result property="level" column="LEVEL"/>
        <result property="nodeOrder" column="NODE_ORDER"/>
        <result property="content" column="CONTENT"/>
        <result property="createDate" column="CREATE_DATE"/>
        <result property="createUser" column="CREATE_USER"/>
        <result property="updateDate" column="UPDATE_DATE"/>
        <result property="updateUser" column="UPDATE_USER"/>
        <result property="nodeName" column="NODE_NAME"/>
        
        <collection property="childPlanNodes" column="{parentId=id}" select="selectChildPlanNode" /> 
    </resultMap> 
    <!-- 根据计划id检索父节点信息 -->
    <select id="selectPlanNodeList" resultMap="selectPlanNodeMap">
        SELECT
            ID ,
            PLAN_ID,
            PARENT_ID,
            LEVEL,
            NODE_ORDER,
            CONTENT,
            CREATE_DATE,
            CREATE_USER,
            UPDATE_DATE,
            UPDATE_USER,
            NODE_NAME
        FROM
            tb_plan_node
         where PLAN_ID=#{planId} and LEVEL=1
         ORDER BY NODE_ORDER  
    </select>
    <!-- 根据父节点id检索子节点信息 -->
    <resultMap type="com.cloudsoaring.web.course.entity.PlanNodeEntity" id="selectChildPlanNodeMap">
        <result property="id" column="ID"/>
        <result property="planId" column="PLAN_ID"/>
        <result property="parentId" column="PARENT_ID"/>
        <result property="level" column="LEVEL"/>
        <result property="nodeOrder" column="NODE_ORDER"/>
        <result property="content" column="CONTENT"/>
        <result property="createDate" column="CREATE_DATE"/>
        <result property="createUser" column="CREATE_USER"/>
        <result property="updateDate" column="UPDATE_DATE"/>
        <result property="updateUser" column="UPDATE_USER"/>
        <result property="nodeName" column="NODE_NAME"/>
        <collection property="nodeCourses" column="{planNodeId=id}" select="searchPlanCourse" />
    </resultMap>  
    <select id="selectChildPlanNode" resultMap="selectChildPlanNodeMap">
        SELECT
            ID ,
            PLAN_ID,
            PARENT_ID,
            LEVEL,
            NODE_ORDER,
            CONTENT,
            CREATE_DATE,
            CREATE_USER,
            UPDATE_DATE,
            UPDATE_USER,
            NODE_NAME
        FROM
            tb_plan_node
         where PARENT_ID=#{parentId} and LEVEL=2
    </select>
    
    

 

posted @ 2016-03-04 17:31  荒漠雨  阅读(355)  评论(0)    收藏  举报