• Mybatis自查询递归查找子


    先看一下数据库

    主键id,名称product_code,父parent,和kind

    设计菜单类

    setter,getter

    Dao

    public interface ProductMapper {

    List<TProductKindRelationDto> getProductKindRelationDto();
    }

    mapper.xml

    <mapper namespace="com.adv.biz.dao.ProductMapper" >
    <resultMap id="BaseResultMap" type="com.adv.biz.dto.TProductKindRelationDto" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="product_code" property="productCode" jdbcType="VARCHAR" />
    <result column="parent" property="parent" jdbcType="VARCHAR" />
    <result column="kind" property="kind" jdbcType="VARCHAR" />
    <collection property="childList" ofType="com.adv.biz.entity.TProductKindRelation" column="product_code" select="findByParent">
    </collection>
    </resultMap>


    <select id="getProductKindRelationDto" resultMap="BaseResultMap" >
    select t.id,t.kind,t.parent,t.product_code from t_product_kind_relation t where t.parent is null or t.parent = ''
    </select>

    <select id="findByParent" resultType="com.adv.biz.dto.TProductKindRelationDto">
    select t.id,t.kind,t.parent,t.product_code from t_product_kind_relation t where t.parent=#{product_code}
    </select>

    </mapper>

    其中findByParent会查询到所有的父菜单,

     

    而在getProductKindRelationDto中我们定义了如何去查找子菜单,调用findByParent

  • 相关阅读:
    一次维护经历
    网络线用色环表示
    ★★★错误终于抓到了★★★
    帮别人装IBM本本花了两天
    好记忆不如烂笔头
    凌晨完成的内容
    好久没上网了!
    oseye问答和博文评论通知的设计思路
    简单四步设置debian的vps安全防护
    javascript 的call()与apply()的应用与区别
  • 原文地址:https://www.cnblogs.com/lingbing/p/9668775.html
Copyright © 2020-2023  润新知