mybatis 级联查询一些问题

每次写mybatis 级联查询 就要写 几个 resultmap 一堆参数 ,sql也要把用到 的字段全部拼出来。

一直对mabatis 的用法不甚了解  到底用不用 这么麻烦


    <resultMap id="CommodityResult" type="com.ronhan.ctoc.model.Commodity">
    <id column="c_id" jdbcType="BIGINT" property="id" />
    <result column="c_skuid" jdbcType="VARCHAR" property="skuid" />
    <result column="c_state" jdbcType="TINYINT" property="state" />
    <result column="c_imageUrl" jdbcType="VARCHAR" property="imageUrl" />
    <result column="c_saleprice" jdbcType="DECIMAL" property="salePrice" />
</resultMap> 





















  <select id="showOfferList" parameterType="map"  resultMap="offerResult" >
    select  o.*,c.state as c_state , c.id as c_id ,c.skuid as c_skuid ,c.imageUrl as c_imageUrl,c.salePrice as c_saleprice,m.messages as m_messages
    from m_message m , o_offer o  left join c_commodity c on  o.commodity_id =c.id  left join o_offerhistroy oh  on o.id=oh.offer_id
    where 1=1  and oh.message_id= m.id 
    <if test="data.skuid!= null">
    and     c.skuid   LIKE '%${data.skuid}%'
    </if>
    <if test="data.status!=null">
    and     o.status =#{data.status}
    </if>
    <if test="data.startTime!=null">
        and o.createDate >#{data.startTime}
    </if>
    <if test="data.endTime!=null">
    and     o.createDate &lt; #{data.endTime}
    </if>

    limit ${page.start},${page.rowsPerPage}

就一个查询 写这么一大堆 ,  请问下 哪里可以优化一点吗?

2个回答

可以直接用hashMap作为resultMap

zy_281870667
Bug开发攻城狮 回复zb51500618: http://www.tuicool.com/articles/aeAJJjz
4 年多之前 回复
zb51500618
zb51500618 这个 没有用过 ,请问 有资料 或者例子吗 让我参考一下
4 年多之前 回复

如果有明确的返回类型,可以写成resultType。比如select count(*) from 表名
就可以用resultType=“java.lang.Integer”

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐