先看一下數據庫數據庫
主鍵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