Ibatis和Oracle限制结果集

时间:2012-06-11 08:45:40

标签: oracle ibatis

我必须在Ibatis中更改sql映射,我想将每个tipe“list”的结果集限制为1000行。

我试过了:

<select id="list" parameterClass="common.dto.Dto" resultClass="common.Entity">
        SELECT *
        FROM table SOC
        LEFT OUTER JOIN SOCIETASEP SEP
        ON SEP.COSOCIETA = SOC.CODSOCIETA

        <dynamic prepend="WHERE">

        ROWNUM&lt;=1000

    <isNotEmpty prepend="AND" property="ragSoc">
        DSRAGSOC LIKE UPPER(#ragSoc#) || '%'
    </isNotEmpty>
        </dynamic>
</select>

但是不起作用。何要插入静态条件?

由于

1 个答案:

答案 0 :(得分:3)

尝试替换:

ROWNUM&lt;=1000

由:

<![CDATA[ ROWNUM <= 1000 ]]>

有点像这样:

<select id="list" parameterClass="common.dto.Dto" resultClass="common.Entity">
        SELECT *
        FROM table SOC
        LEFT OUTER JOIN SOCIETASEP SEP
        ON SEP.COSOCIETA = SOC.CODSOCIETA
        where       
<![CDATA[ ROWNUM <= 1000 ]]>

    <isNotEmpty prepend="AND" property="ragSoc">
        DSRAGSOC LIKE UPPER(#ragSoc#) || '%'
    </isNotEmpty>

</select>

HTH。