oracle分页查询sql语句xml版

本文详细介绍了如何在Oracle数据库中使用XML语法进行高效分页查询,通过实例解析SQL语句的构建过程,帮助开发者优化大数据量的查询操作。
<select id = "listQueryDpcInfoDO"  resultMap ="getListDpcInfoDO" >

        select * from
        (
        SELECT A.*, ROWNUM RN
        # from后为具体查询表语句
        FROM ( select *
        from DPCINFO
        <where>
            <if test="centerInputParam.province !=null">
                province = #{centerInputParam.province }
            </if>

            <if test="centerInputParam.city !=null">
                and  city = #{centerInputParam.city}
            </if>
            <if test="centerInputParam.area !=null">
                and county = #{centerInputParam.area}
            </if>
            <if test="centerInputParam.begindate !=null and centerInputParam.enddate !=null">
                and to_char(time,'yyyy-mm-dd') between #{centerInputParam.begindate} and #{centerInputParam.enddate}
            </if>
            <if test="centerInputParam.cardNoOrName !=null">
                and   addr = #{centerInputParam.cardNoOrName}
            </if>
        </where>) A
        <where>
            <if test="pageSize !=null and pageIndex !=null" >
                ROWNUM &lt;= #{pageSize}*#{pageIndex}
            </if>
        </where>
        )
        <where>
            <if test= "pageIndex >1">
                RN >=(#{pageIndex}-1)*#{pageSize}
            </if>
        </where>
    </select>

 <resultMap id="getListDpcInfoDO" type="com.keyou.domain.basicQuery.DpcInfoDO">
        <id property="dpcinfoguid" column="DPCINFOGUID"/>
        <result  property="dpcid" column="DPCID"/>
        <result  property="addr" column="ADDR"/>
        <result  property="time" column="TIME"/>
        <result  property="province" column="PROVINCE"/>
        <result  property="city" column="CITY"/>
        <result  property="county" column="COUNTY"/>
        <result  property="ip" column="IP"/>
    </resultMap>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值