Mybatis使用大于等于或小于等于进行比较

目录
  • 前言
  • 常见转义符
  • 前提声明
  • 使用CDATA 区段
  • 测试
  • 总结

前言

今天有一个需求,把之前的判断逻辑进行修改,之前我是用大于(>)小于(<)进行对比的,但是今天让改成大于等于(>=)和小于等于(<=)进行比较

本来以为是一个很简单的操作。

但是还是菜了不少坑的,今天就和大家一起分享下:

常见转义符

常见的一些转义符如下:

前提声明

首先我一开始是大于小于的,就是正常的这样的格式。

然后按照上面的一些转义符,换成ge,le

发现直接报错,或者就是编码不成功,至于这个错怎么解决,我还没有找到解决方案

使用CDATA 区段

然后我就继续想解决办法,最终发现可以使用CDATA 区段进行拼接,而且在CDATA 区段里面还可以不用转义,直接使用原生比较方式即可:

<if test="projectBiddVO.openFlag!=null and projectBiddVO.openFlag!=''">
          and open_bidd_time <![CDATA[ >= ]]>now()
</if>
 <if test="projectBiddVO.performanceFlag!=null and projectBiddVO.performanceFlag!=''">
          and open_bidd_time <![CDATA[ <= ]]> now()
</if>
含义 符号表示
大于 <![CDATA[ > ]]>
小于 <![CDATA[ < ]]>
大于等于 <![CDATA[ >= ]]>
小于等于 <![CDATA[ <+ ]]>
不等于 <![CDATA[ <> ]]>/<![CDATA[ != ]]>

测试

重启服务,可以看到,按照我们想要的效果进行转义了:

总结

到此这篇关于Mybatis使用大于等于或小于等于进行比较的文章就介绍到这了,更多相关Mybatis 大于等于或小于等于内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • mybatis中使用大于小于等于的正确方法

    在mybatis中sql是写在xml映射文件中的,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,如若不希望被转义,那该怎么办呢? 方法一:使用特殊转义字符 例如,>=开始日期 并且<=结束日期 >  >  大于号 <  <  小于号 <if test="searchTimeBegin != null and searchTimeBegin != ''"> AND tcci.consume_time >= CONC

  • Mybatis使用大于等于或小于等于进行比较

    目录 前言 常见转义符 前提声明 使用CDATA 区段 测试 总结 前言 今天有一个需求,把之前的判断逻辑进行修改,之前我是用大于(>)小于(<)进行对比的,但是今天让改成大于等于(>=)和小于等于(<=)进行比较 本来以为是一个很简单的操作. 但是还是菜了不少坑的,今天就和大家一起分享下: 常见转义符 常见的一些转义符如下: 前提声明 首先我一开始是大于小于的,就是正常的这样的格式. 然后按照上面的一些转义符,换成ge,le 发现直接报错,或者就是编码不成功,至于这个错怎么解决,

  • mybatis xml中特殊字符处理及特殊符号

    下面给大家介绍mybatis xml 中特殊字符处理方法,具体内容如下所示:  1,CDATA区: 它的全称为character data,以"<![CDATA[ "开始,以" ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序处理. 2,特殊字符 : xml 中表示:   <= 小于等于.    >= 大于等于 需加  这样的标记:     <![C

  • 详解mybatis #{}和${}的区别、传参、基本语法

    1 #{}和${}的区别.及注入问题 (1) 区别: 首先清楚一点,动态 SQL 是 mybatis 的强大特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析,#{} 和 ${} 在预编译中的处理是不一样的: 例如:select * from t_user where userName = #{name}; #{}预编译:用一个占位符 ? 代替参数:select * from t_user where userName = ? #{}预编

  • 聊聊Mybatis中sql语句不等于的表示

    Mybatis sql语句不等于的表示 如果直接写 select * from user where id <> 217; mybatis就会报语法错误,<>特殊字符需要转义 如下 select * from user where id <> 217; 使用Mybatis的时候,特殊字符需进行转义,如 <> <> & & &apos; ' " " Mybatis 特殊符号(大于,小于,不等于)及常用函数

  • MyBatis 详细讲解动态 SQL的使用

    目录 MyBatis 框架动态 SQL 环境准备 动态 SQL 之 if 动态 SQL 之 where 动态 SQL 之 foreach 动态 SQL 之代码片段 MyBatis 框架动态 SQL 动态 SQL,通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句.这里的条件判断使用的表达式为 OGNL 表达式.常用的动态 SQL 标签有<if>.<where>.<choose/>.<foreach>等. MyBatis 的动态 S

  • MyBatis 详细讲解动态 SQL的使用

    目录 MyBatis 框架动态 SQL 环境准备 动态 SQL 之 if 动态 SQL 之 where 动态 SQL 之 foreach 动态 SQL 之代码片段 MyBatis 框架动态 SQL 动态 SQL,通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句.这里的条件判断使用的表达式为 OGNL 表达式.常用的动态 SQL 标签有<if>.<where>.<choose/>.<foreach>等. MyBatis 的动态 S

  • Mybatis在注解上如何实现动态SQL

    目录 在注解上实现动态SQL 注解的动态语句支持以下 注解方式动态sql写法和注意事项 判断字符串为空串 用单引号 大于等于用 小于等于用 在注解上实现动态SQL 使用Mybatis注解实现sql语句,但是有些时候有些字段是空的,这时候这个空的字段就要从条件查询语句中删除,这个时候就需要用到动态Sql. 注解的动态语句支持以下 trim where set foreach if choose when otherwise bind @Select({"<script> "

  • Mybatis Plus条件构造器ConditionConstructor用法实例解析

    理解: 原来叫条件构造器,我一直以为都是封装条件对象 即SQL的查询条件,不过都一样. 其目的是因为的实际的需求灵活多变,而我们的SQL的筛选条件也需要跟着变化, 但是有一些固定的字段固定的方式可以保证不变化,那么方法的参数的确定尤为重要 从单一的一个ID,一个String的属性,到一个类型的对象,最后到规范的接口 就是逐渐把可能的情况不断的抽象化,更具有泛用意义 Wrapper的常用方法: eq方法,名称是equals的缩写,两个参数,一个是数据库表字段的名称,一个是表字段值 userQuer

  • 解析XPath语法之在C#中使用XPath的示例详解

    XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识.示例Xml: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?><pets>  <cat color="black" weight="10">    <price>100</price>    <de

随机推荐