zoukankan      html  css  js  c++  java
  • Mybatis日期类型的关系判断

    进行时间段的查询时,在mapper文件中直接使用">","<"等关系运算符是无法解析的

    <if test="executeStartDate != null and executeStartDate != ''">
         and execute_time >= to_date(#{executeStartDate},'yyyy-MM-dd HH24:MI:SS')
    </if>
    <if test="executeEndDate != null and executeEndDate != ''">
         and execute_time <= to_date(#{executeEndDate},'yyyy-MM-dd HH24:MI:SS')
    </if>

    解决方法有两种,一种是使用"&gt;","&lt;"来表示大于和小于关系,这样,在解析时,这些特殊字符会被转义成所匹配的运算符

    <if test="executeStartDate != null and executeStartDate != ''">
          and execute_time &gt;= to_date(#{executeStartDate},'yyyy-MM-dd HH24:MI:SS')
    </if>
    <if test="executeEndDate != null and executeEndDate != ''">
          and execute_time &lt;= to_date(#{executeEndDate},'yyyy-MM-dd HH24:MI:SS')
    </if>

    另一种是使用"<![CDATA[   ]]>"来嵌套不需要转义的内容

    <if test="executeStartDate != null and executeStartDate != ''">
         and execute_time <![CDATA[>=]]> to_date(#{executeStartDate},'yyyy-MM-dd HH24:MI:SS')
    </if>
    <if test="executeEndDate != null and executeEndDate != ''">
         and execute_time <![CDATA[<=]]> to_date(#{executeEndDate},'yyyy-MM-dd HH24:MI:SS')
    </if>
  • 相关阅读:
    Thread类常用方法
    sql 语句NVL()用法
    SQL极限函数limit()详解<分页必备>
    查询用户上次登录时间问题
    ROWNUM-Oracle中的分页代码
    分组统计查询
    Oracle中的多表查询
    Oracle中的单行函数
    JDBC中的事务-Transaction
    MySql中增加一列
  • 原文地址:https://www.cnblogs.com/zjfjava/p/9180003.html
Copyright © 2011-2022 走看看