mybatis 映射一对多查询返回集合

xml 配置:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.saic.grape.csc.dao.CouponManagerCscDAO">
    
      <resultMap id="CouponMap" type="Map">
        <result column="coupId" property="coupId" javaType="string"/>
        <collection property="brandList" ofType="map" javaType="ArrayList" column="coupId" select="queryBrandList"/>
        <collection property="cityList" ofType="map" javaType="ArrayList" column="coupId" select="queryCityList"/>
    </resultMap>
    
    <!-- 获取保养券列表 -->
    <select id="getCouponList" parameterType="Map" resultMap="CouponMap" flushCache="true">
        SELECT
            c.id coupId,
            DATE_FORMAT(c.expired_date,'%Y-%m-%d %H:%i:%s') AS expiredDate,
            c.valid_days validDays,
            c.amount amount,
            c.states states,
            DATE_FORMAT(c.modify_date,'%Y-%m-%d %H:%i:%s') AS modifyDate,
            c.memo memo
        FROM t_coupon c
        <where>
            <if test="coupId != null and coupId != ''">
                c.id = #{coupId}
            </if>
            <if test="expiredDate != null and expiredDate != ''">
                AND c.expired_date = #{expiredDate}
            </if>
            <if test="validDays != null and validDays != ''">
                AND c.valid_days = #{validDays}
            </if>
            <if test="amount != null and amount != ''">
                AND c.amount = #{amount}
            </if>
            <if test="states != null and states != ''">
                AND c.states = #{states}
            </if>
        </where>
    </select>
    
    <select id="queryBrandList" parameterType="string" resultType="map">
        SELECT
            cb.id cbId,
            cb.brand_id brandId,
            cb.brand_name brandName
        FROM t_coupon_brand cb
        WHERE
            cb.coupon_id = #{coupId}
    </select>
    
    <select id="queryCityList" parameterType="string" resultType="map">
        SELECT
            cc.id ccId,
            cc.city_code cityCode,
            cc.city_name cityName
        FROM t_coupon_city cc
        WHERE
            cc.coupon_id = #{coupId}

    </select>

</mapper>


java 代码:

/**
     * 获取保养券规则信息列表
     */
    @Override
    public List<Map<String, Object>> getCouponList(Map<String, Object> params) {
        // TODO Auto-generated method stub
        return this.getSqlSession().selectList(nameSpace.concat("getCouponList"), params);

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值