MyBatis 3中Less Than / Equal运算符的正确语法是什么?

时间:2015-08-17 04:18:09

标签: mybatis

如何在MyBatis 3中使用小于等于。

CREATE INDEX events_dtt_idx ON events (dtt);

3 个答案:

答案 0 :(得分:9)

我展示了大于/等于运算符和小于/等于运算符的示例:

ROWNUM >= 20
ROWNUM <= 20

或者,为了便于阅读,您可以将它们包装在CDATA中

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

答案 1 :(得分:1)

使用CDATA来逃避&#34;&lt;&#34;类似于xml。

  <select id="getLog" resultMap="BaseResultMap" parameterType="java.lang.String">
    SELECT * FROM(
    SELECT * FROM TABLE1
    WHERE COL1 =#{COL1,jdbcType=VARCHAR}
    ORDER BY DATE DESC
) TABLE2
WHERE ROWNUM <![CDATA[ <= 20 ]]>
</select>

答案 2 :(得分:0)

可能只有我一个人,但是我认为这更具可读性:

<select id="getLog" resultMap="BaseResultMap" parameterType="java.lang.String">
  <![CDATA[
    SELECT * FROM(
        SELECT * FROM TABLE1
        WHERE COL1 =]]> #{COL1,jdbcType=VARCHAR} <![CDATA[
        ORDER BY DATE DESC
    ) TABLE2
    WHERE ROWNUM <= 20
  ]]>
</select>

请注意,我必须转义hash参数,这无疑使它的可读性降低。但是,对于不带参数的查询,此方法非常简洁。主要优点是您可以复制粘贴查询并直接在SQL中对其进行测试。