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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容