zoukankan      html  css  js  c++  java
  • myBatis中 collection 或 association 联合查询 中column 传入多个参数值

     下面是一个树形结构表自连接 联合查询 Demo

     <resultMap id="BaseResultMap"  type="com.maidan.daas.entity.AccoSysmanResource" >
        <id column="pid" property="pid" jdbcType="INTEGER" />
        <result column="createTime" property="createtime" jdbcType="TIMESTAMP" />
        <result column="delete_flag" property="deleteFlag" jdbcType="INTEGER" />
        <result column="description" property="description" jdbcType="VARCHAR" />
        <result column="href" property="href" jdbcType="VARCHAR" />
        <result column="name" property="name" jdbcType="VARCHAR" />
        <result column="level" property="level" jdbcType="INTEGER" />
        <result column="resourceType" property="resourceType" jdbcType="INTEGER" />
        <result column="p_menu_id" property="pMenuId" jdbcType="INTEGER" />
        <result column="icon" property="icon" jdbcType="VARCHAR" />
      </resultMap>

    <!--extends="BaseResultMap"   resultMap  相同列继承继承 -->

    <resultMap type="com.maidan.daas.entity.AccoSysmanResource" id="ShopAccoSysmanResourceTree"  extends="BaseResultMap">
             <collection property="subResource"  javaType="ArrayList"
            column="pid" ofType="com.maidan.daas.entity.AccoSysmanResource">
                 <id column="child_pid" property="pid" jdbcType="INTEGER" />
                <result column="child_createTime" property="createtime" jdbcType="TIMESTAMP" />
                <result column="child_delete_flag" property="deleteFlag" jdbcType="INTEGER" />
                <result column="child_description" property="description" jdbcType="VARCHAR" />
                <result column="child_href" property="href" jdbcType="VARCHAR" />
                <result column="child_name" property="name" jdbcType="VARCHAR" />
                <result column="child_level" property="level" jdbcType="INTEGER" />
                <result column="child_resourceType" property="resourceType" jdbcType="INTEGER" />
                <result column="child_p_menu_id" property="pMenuId" jdbcType="INTEGER" />
                <result column="child_icon" property="icon" jdbcType="VARCHAR" />
                <!-- 延迟加载 传递两个参数

        {pMenuId=child_pid,userId=userId}

         传递查询参数名称=字段名称

        -->
                <collection property="subResource"  javaType="ArrayList"  select="getShopChildAccoSysmanResource"
                    column="{pMenuId=child_pid,userId=userId}" ofType="com.maidan.daas.entity.AccoSysmanResource" >
                 </collection>
             </collection>
     </resultMap>

    <select id="getShopChildAccoSysmanResource" parameterType="java.util.Map"  resultMap="BaseResultMap">

             select
            *
             from acco_sysman_resource where delete_flag = 0  
             AND p_menu_id=#{pMenuId,jdbcType=INTEGER}
             ANDuser_id = #{userId,jdbcType=INTEGER}

    </select>

  • 相关阅读:
    TCP和UDP的区别
    项目--华为商城---登录页面(一)
    Servlet(一)—— 文件上传(表单文件上传)
    LeetCode(一) —— 存在重复
    电脑右击不能创建txt文件
    边工作边刷题:70天一遍leetcode: day 92-2
    自底向上集成 Bottom-Up
    分层集成(线性关系) Layers
    基干集成(内核耦合度高) Backbone
    三明治集成(分而治之策略) 又分为传统型和改进型 Sandwich
  • 原文地址:https://www.cnblogs.com/laotan/p/5629460.html
Copyright © 2011-2022 走看看