有没有觉得在mybatis映射文件写>(大于),<(小于)的时候贼麻烦,还得把“<”,">"换位为"&lt;", “&gt;”,映射文件不能直接写>,必须经过转义

eg:

映射文件中:select  name,age from  user where regis_time &gt; '2018-09-09'
(对应的sql脚本:
select name,age from user where regis_time > '2018-09-09'
)

很麻烦对不对,感觉转以后,好像不认识了,有个标签厉害了,帮你解决转义。-<!CDATA[[]]>, 映射文件的sql就用下面的方式写

select name,age from  user  where  regis_time <![CDATA[>]]> '2018-09-09'

  

<![CDATA[AND bill_date <= DATE_FORMAT(NOW(), '%Y-%m-%d')]]>
在xml文件中<,>,& ,", '不能直接存储,必须转移为实体,如"&lt;", “&gt;”才能被保存进xml文档,
<!CDATA[[]]>的意思是遇到 <= ,>=这些运算符按照原文本写入
再提供一个复杂的demo -- mysql查询指定日期区间内的数据
MySQL 查询时 date>= dateA  and date<= dateB,这个区间是左闭右开区间的,要想让右闭需要用 date_sub(参数1, interval -1 day);
   sql脚本:
select name,age  from user where age >18 AND regist_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)映射文件中的脚本
select name,age  from user where age >18
<![CDATA[ AND regist_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)]]>

  

AND om.create_time &lt;= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)
<![CDATA[ AND om.create_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)]]>
date_sub(param1, param2);  param1代表时间,param2代表要减去的天数, 这里传个-1,则表示要减去-1,就表示+1

转载于:https://www.cnblogs.com/coisini/p/9700074.html

Mybatis映射文件!CDATA[[]] 转义问题相关推荐

  1. MyBatis映射文件(一)

    目录 一.MyBatis映射文件 1.insert.update.delete元素 2.主键生成方式 3.参数(Parameters)传递 (1)单个参数 (2)多个参数 (3)命名参数 (4)POJ ...

  2. 3 了解MyBatis映射文件

    3.1 认识映射文件: 介绍:     MyBatis的映射文件主要用于定义业务操作命令,实现对象与数据表字段的映射,并控制对最终结果的封装.MyBatis是针对SQL构建,相对具有相同功能的JDBC ...

  3. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项

    Mybatis映射文件SQL语句模糊查询 1. "%"#{value}"%" 在参数中不需要添加 %_ 推荐使用 2. '%${value}%' 在参数中不需要 ...

  4. MyBatis映射文件如何给数据库的int类型字段“插入”string类型记录

    MyBatis映射文件如何给数据库的int类型字段"插入"string类型记录. 数据库中对应字段名称和类型如下: 给数据库的int类型字段"插入"string ...

  5. 利用Maven逆向工程生成mybatis映射文件

    一,pom.xml 注意修改逆向工程配置文件的路径 <build><pluginManagement><plugins><plugin><grou ...

  6. oracle 监听拒绝连接,报mybatis映射文件错误Listener refused the connection with the following error: ORA-12519, TNS

    以下错误是:数据库连接数问题. 仔细检查映射文件.xml文件正确 后来发现是数据库最大连接数已满 修改之alter system set processes = 4000 scope = spfile ...

  7. MyBatis映射文件1(增删改、insert获取自增主键值)

    增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...

  8. Mybatis 映射文件

    Mapper 就是"映射"的意思,Mapper 文件时 Mybatis 中的 SQL 语句的配置文件,其会在运行时加载 SQL 语句并映射相应参数.在 Mybatis 的全局配置文 ...

  9. 配置MyBatis映射文件以及核心配置文件模板

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.db.properties模板 二.映射文件mapper.xml模板 三.---------MyBatis核心文件 ...

最新文章

  1. php in_array 和 str_replace
  2. 定时器 槽函数没执行_Web服务器项目详解 07 定时器处理非活动连接(上)
  3. 构建自己的PHP框架(ORM)
  4. 《RabbitMQ 实战指南》第三章 客户端开发向导
  5. 剑指offer面试题30. 包含min函数的栈(辅助栈)
  6. Darwin Streaming Server 安装流程
  7. 跟我一起学Vim补全神级插件--YouCompleteMe
  8. 睡眠监测微信小程序源码
  9. js模拟下雨js特效代码
  10. vue中实现window.print()打印功能遇到的几个坑
  11. 2008秋季-计算机软件基础- vc6 wintc 编译器
  12. 华为机试练习汇总(JS实现)
  13. 0-c语言入门这一篇就够了-学习笔记(一万字)
  14. MATLAB箱型图异常值/离群值处理(箱型图红色加号)
  15. [CS15] Fast and Accurate Recurrent Neural Network Acoustic Models for Speech Recognition-Has¸im Sak
  16. 苹果付费app共享公众号_【苹果付费APP共享】 Affinity Photo
  17. linux cc攻击
  18. 区块链如何保护版权?
  19. 微机内部的8253和8255控制扬声器发声
  20. AcWing 1169 糖果

热门文章

  1. 云原生的五大趋势,K8s安卓化位列其一
  2. 分享实录 | 单人开发场景下的测试环境实践
  3. 游戏行业DDoS 6年谈:什么样的架构才可以对DDoS免疫?
  4. goldengate使用ASM存放trail文件注意事项
  5. 软件实施培训前的准备工作
  6. 用爬虫实现验证码识别并模拟登陆和cookie操作、代理操作、线程池
  7. ORA-08176 错误的一个案例
  8. web端 复合控件 响应回发
  9. node.js 函数定义和调用
  10. Android学习笔记36:使用SQLite方式存储数据