Mybatis自查询递归查找子

先看一下数据库数据库

 

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

设计菜单类spa

setter,getter设计

Daocode

public interface ProductMapper {xml

List<TProductKindRelationDto> getProductKindRelationDto();
}blog

mapper.xmlget

<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>it

其中findByParent会查询到全部的父菜单,io

 

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

相关文章
相关标签/搜索