Mybatis <sql> 复用

基础 sql 定义


  <sql id="selectConfigDevicePartsFittings">

    SELECT cd.amount
          FROM config_dpf cd
                   left join device_parts_fitting dpf on cd.dpf_id = dpf.id
          where cd.cdp_id = ${cdpId}
            and dpf.type = ${type}
            and cd.is_deleted = '0'
            and dpf.is_deleted = '0'
  </sql>

注意:这里传值使用了${cdpId},使用 # 会报错
sql 复用

SELECT c.config_name,
--              c.project_name,

               dp.type,
               dp.name,
               dp.description as dpDescription,
               dp.volume,
               dp.size,
               dp.price,
               dp.discount,
               dp.sale_price,
               dp.unit,
               dp.width,
               dp.deep,
               dp.height,
               dp.brand_id,
      ifnull(total_price, 0) + ifnull(copper_price, 0) as summary,

             (
                <include refid="selectConfigDevicePartsFittings">
                  <property name="cdpId" value="t.id"/>
                  <property name="type" value="1"/>
                </include>
                ) as padlock,

             (
                <include refid="selectConfigDevicePartsFittings">
                  <property name="cdpId" value="t.id"/>
                  <property name="type" value="2"/>
                </include>
                ) as interlock,

             (
                <include refid="selectConfigDevicePartsFittings">
                  <property name="cdpId" value="t.id"/>
                  <property name="type" value="3"/>
                </include>
                ) as shuntTrip,
             t.*
      FROM config_device_parts t
               left join config c on t.config_id = c.id
               left join device_parts dp on t.device_parts_id = dp.id

      where t.config_id = #{configId} and t.is_deleted = '0'
      order by t.update_time desc

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 2,992评论 0 4
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 1,570评论 0 8
  • CloudJavaBackendSummaries1、开发环境eclipse工程,引入jw仓库的jw-base,3...
    IT诸葛亮阅读 261评论 0 0
  • 我们村是26日禁村的,在这疫情慢延的日子里,我和丈夫的的活动范围就是院子,屋子。 丈夫一天的工作是,喂四个牛,十几...
    e30e02397ef1阅读 207评论 6 10
  • 翻译:李莉 欢迎访问网易云社区,了解更多网易技术产品运营经验。 我真的很喜欢听卡尔·休伊特谈论计算机科学,他经常重...
    yijian2595阅读 36评论 0 0