先看一下資料庫 主鍵id,名稱product_code,父parent,和kind 設計菜單類 setter,getter Dao public interface ProductMapper { List<TProductKindRelationDto> getProductKindRelatio ...
先看一下資料庫
主鍵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