前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis 多参数综合查询的动态 SQL 实现示例

MyBatis 多参数综合查询的动态 SQL 实现示例

作者头像
一个会写诗的程序员
发布2018-08-17 11:27:44
7910
发布2018-08-17 11:27:44
举报
代码语言:javascript
复制
    List<QualityDataOfAppDto> findQualityDataOfAppDtoByDeptNoAndAoneProductId(
            @Param("deptNo") Long deptNo,
            @Param("aoneProductId") Long aoneProductId);
代码语言:javascript
复制
    <select id="findQualityDataOfAppDtoByDeptNoAndAoneProductId"
            resultType="com.alibaba.swork.info.common.dto.QualityDataOfAppDto">
        SELECT
        a.id id,
        a.gmt_create gmtCreate,
        a.gmt_modified gmtModified,
        a.app_id appId,
        a.app_name appName,
        a.dept_no deptNo,
        a.dept_name deptName,
        a.aone_product_id aoneProductId,
        a.aone_product_name aoneProductName,
        a.app_score appScore,
        a.line_count lineCount,
        a.complexity complexity,
        a.duplication duplication,
        a.comment_rate commentRate,
        a.ut_rate utRate,
        a.ui_rate uiRate,
        a.it_rate itRate,
        a.static_code_check_value1 staticCodeCheckValue1,
        a.static_code_check_value2 staticCodeCheckValue2,
        a.static_code_check_value3 staticCodeCheckValue3,
        a.static_code_check_value4 staticCodeCheckValue4,
        a.date_stamp dateStamp,
        a.deviation deviation,
        v.base_value appScoreBaseValue,
        b.app_score appScoreRelative,
        b.complexity complexityRelative,
        b.duplication duplicationRelative,
        b.comment_rate commentRateRelative,
        b.ut_rate utRateRelative,
        b.ui_rate uiRateRelative,
        b.it_rate itRateRelative,
        b.static_code_check_value1 staticCodeCheckValue1Relative,
        b.static_code_check_value2 staticCodeCheckValue2Relative,
        b.static_code_check_value3 staticCodeCheckValue3Relative
        FROM quality_data_of_app a
        LEFT JOIN quality_data_app_base_value v on a.app_id = v.app_id
        LEFT JOIN quality_data_of_app b ON a.app_id = b.app_id
        AND a.date_stamp =
        (SELECT max(date_stamp) FROM quality_data_of_app)
        AND b.date_stamp =
        (SELECT date_add(max(date_stamp), INTERVAL -1 DAY) FROM quality_data_of_app)
        WHERE a.date_stamp =
        (SELECT max(date_stamp) FROM quality_data_of_app)
        <if test='deptNo != null and deptNo != 0 '>
            AND a.dept_name LIKE
            (SELECT concat( (select dept_name FROM department WHERE dept_no = #{deptNo}),'%'))
        </if>
        <if test='aoneProductId != null and aoneProductId != 0 '>
            AND a.aone_product_id = #{aoneProductId}
        </if>
        ORDER BY lineCount desc
    </select>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档