mybatis多表联合查询的写法

xml

<select id="getUnitUserComsumes"  parameterType="com.zbkj.common.request.UnitUserComsumeRequest"
                    resultType="java.util.List" resultMap="itemResultMap">
        select znu.real_name,ze.enterprise_name,zd.name,zc.canteen_name,ub.pay_code,ub.number,ub.create_time
        from eb_user_bill ub
        inner join zn_enterprise_user znu
                on znu.uid = ub.uid
        left join zn_enterprise ze
                on znu.enterprise_id = ze.id
        left join zn_canteen zc
                on zc.enterprise_id = ze.id
        left join zn_device zd
                on zd.canteen_id = zc.id
        where 1=1 and ub.pm = 0
        <if test="request.deviceId != null and request.deviceId !=0">
            and zd.id = #{request.deviceId}
        </if>

        <if test="request.canteenId != null and request.canteenId !=0">
            and zc.id = #{request.canteenId}
        </if>

        <if test="request.enterpriseId != null and request.enterpriseId !=0">
            and ze.id = #{request.enterpriseId}
        </if>

        <if test="request.startTime !=null and request.startTime != ''">
            and ub.create_time <![CDATA[ >= ]]> #{request.startTime}
        </if>

        <if test="request.endTime !=null and request.endTime != ''">
            and ub.create_time <![CDATA[ <= ]]> #{request.endTime}
        </if>
        order by ub.create_time desc
    </select>

Mapper类

List<UnitUserComsumeResponse> getUnitUserComsumes(@Param("request") UnitUserComsumeRequest request);

判断条件需要带上 Mapper类中方法签名的名称

posted @   猝死的路上  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示