浏览 2161 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-08
比如电子商务:这张分类表(TYPE)的id是作为商品表(goods)的外键, 我要查询商品表并要输出分类的名称以及其父类的name和父类父类的name(商品是三级分类的), 分类表中的字段为TypeId ,basTypeId,name 这几个字段( basTypeId为父类id), 商品表是id,name ,typeid(分类表中id外键关联) 这几个字段。 我只知道goods中的fid 我如何写ibatis中sql语句去查询分类中三个分类的名称 。 GOODS中的sql <resultMap id="GoodsResult" class="Goods"> <result property="Id" column="ID"/> <result property="TypeId" column="TYPE_ID"/> <result property="name" column="NAME"/> <result property="Type" column="TYPE_ID" select="Type_NS.getTypeById"/> </resultMap> <sql id="GOODS_TBL_columns"> GOODS_TBL.ID, GOODS_TBL.TYPE_ID, GOODS_TBL.NAME </sql> <sql id="GOODS_TBL_properties"> #Id#, #TypeId#, #name# </sql> <select id="getGoods" resultMap="Goods_NS.GoodsResult" parameterClass="QueryQuestionCondition"> <include refid="public_sql.page_begin"/> SELECT <include refid="GOODS_NS.GOODS_TBL_columns"/> FROM GOODS_TBL WHERE 1=1 <isNotEmpty property="TypeId" prepend="AND"> TYPE_ID IN ( SELECT TYPE_ID FROM TYPE_TBL WHERE <isNotEmpty property="sonId"> TYPE_ID =#sonId# </isNotEmpty> <isEmpty property="sonId"> FTYPE_ID=#TypeId# </isEmpty> ) </isNotEmpty> <include refid="public_sql.page_end"/> </select> Type中的sql <resultMap id="TypeResult" class="Type"> <result property="TypeId" column="_TYPE_ID"/> <result property="basTypeId" column="BAS_TYPE_ID"/> <result property="name" column="NAME"/> <result property="basType" column="BAS_TYPE_ID" select="Type_NS.getTypeById"/> <result property="sonTypeCount" column="TYPE_ID" select="Type_NS.getSonTypeCount"/> </resultMap> <sql id="TYPE_TBL_columns"> TYPE_TBL.TYPE_ID, TYPE_TBL.BAS_TYPE_ID, TYPE_TBL.NAME </sql> <sql id="TYPE_TBL_properties"> #TypeId#, #basTypeId#, #name# </sql> <select id="getTypeById" resultMap="Type_NS.TypeResult" parameterClass="java.lang.String"> SELECT <include refid="Type_NS.TYPE_TBL_columns"/> FROM TYPE_TBL WHERE TYPE_ID = #value# </select> 这样写只能查询出上一级的分类name再上一级的怎么查询呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-10-08
不会用ibatis 请高手指导一下啊!!
|
|
返回顶楼 | |