mybatis的include和sql的使用

发布于:2024-04-12 ⋅ 阅读:(120) ⋅ 点赞:(0)
mapper层
Page<BasicFacilitiesVo> queryPageList(@Param("bo") BasicFacilitiesBo bo, Page build);

	<sql id="selectBasicFacilitiesVo">
		SELECT bf.facilities_no,bf.facilities_name,
		bf.facilities_status,bf.remarks,bf.facility_type_id,bf.facilities_id,
		bft.type_name as facilityTypeName,bf.photo_id
		from basic_facilities bf
		left join basic_facilities_type bft
		on bf.facility_type_id = facilities_type_id
	</sql>

    <sql id="selectBasicFacilitiesVoCondition">
        <where>
            <if test="bo.facilityTypeId!=null and bo.facilityTypeId!='' ">
                bf.facility_type_id = #{bo.facilityTypeId}
            </if>
            <if test="bo.facilitiesStatus!=null and bo.facilitiesStatus!=''">
                and bf.facilities_status = #{bo.facilitiesStatus}
            </if>
            <if test="bo.facilitiesName!=null  and bo.facilitiesName!=''">
                and bf.facilities_name like concat('%',#{bo.facilitiesName},'%')
            </if>
        </where>
    </sql>

<select id="queryPageList" resultType="domain.vo.BasicFacilitiesVo"
            parameterType="domain.bo.BasicFacilitiesBo">
        <include refid="selectBasicFacilitiesVo"></include>
        <include refid="selectBasicFacilitiesVoCondition"></include>
        order by bf.create_time desc
    </select>