guli-mall
guli-mall copied to clipboard
老哥的AttrGroupDao.xml中resultMap漏写了
对应P205 不改的话类型映射会出问题 这里会遇到一个问题,就是方法getAttrGroupWithAttrsBySpuId明明指定了返回类型为List(SpuItemAttrGroupVo) 漏写resultmap的话,返回类型为List(AttGroupEntity)居然不报错?
`
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.zsy.product.entity.AttrGroupEntity" id="attrGroupMap">
<result property="attrGroupId" column="attr_group_id"/>
<result property="attrGroupName" column="attr_group_name"/>
<result property="sort" column="sort"/>
<result property="descript" column="descript"/>
<result property="icon" column="icon"/>
<result property="catelogId" column="catelog_id"/>
</resultMap>
<resultMap id="spuItemAttrGroupVo" type="com.zsy.product.vo.SpuItemAttrGroupVo">
<result property="groupName" column="attr_group_name"></result>
<collection property="attrs" ofType="com.zsy.product.vo.Attr">
<result column="attr_name" property="attrName"></result>
<result column="attr_value" property="attrValue"></result>
</collection>
</resultMap>
<select id="getAttrGroupWithAttrsBySpuId" resultMap="spuItemAttrGroupVo">
SELECT
product.spu_id,
pag.attr_group_id,
pag.attr_group_name,
product.attr_id,
product.attr_name,
product.attr_value
FROM
pms_product_attr_value product
LEFT JOIN pms_attr_attrgroup_relation paar ON product.attr_id = paar.attr_id
LEFT JOIN pms_attr_group pag ON paar.attr_group_id = pag.attr_group_id
WHERE
product.spu_id = #{spuId}
AND pag.catelog_id = #{catalogId}
</select>
对应P205 不改的话类型映射会出问题 这里会遇到一个问题,就是方法getAttrGroupWithAttrsBySpuId明明指定了返回类型为List(SpuItemAttrGroupVo) 漏写resultmap的话,返回类型为List(AttGroupEntity)居然不报错?
`
<!-- 可根据自己的需求,是否要使用 --> <resultMap type="com.zsy.product.entity.AttrGroupEntity" id="attrGroupMap"> <result property="attrGroupId" column="attr_group_id"/> <result property="attrGroupName" column="attr_group_name"/> <result property="sort" column="sort"/> <result property="descript" column="descript"/> <result property="icon" column="icon"/> <result property="catelogId" column="catelog_id"/> </resultMap> <resultMap id="spuItemAttrGroupVo" type="com.zsy.product.vo.SpuItemAttrGroupVo"> <result property="groupName" column="attr_group_name"></result> <collection property="attrs" ofType="com.zsy.product.vo.Attr"> <result column="attr_name" property="attrName"></result> <result column="attr_value" property="attrValue"></result> </collection> </resultMap> <select id="getAttrGroupWithAttrsBySpuId" resultMap="spuItemAttrGroupVo"> SELECT product.spu_id, pag.attr_group_id, pag.attr_group_name, product.attr_id, product.attr_name, product.attr_value FROM pms_product_attr_value product LEFT JOIN pms_attr_attrgroup_relation paar ON product.attr_id = paar.attr_id LEFT JOIN pms_attr_group pag ON paar.attr_group_id = pag.attr_group_id WHERE product.spu_id = #{spuId} AND pag.catelog_id = #{catalogId} </select>
`
多谢,确实少写了,没注意到这个地方。