xml文件中SQL语句的大于号、小于号、等于号的转义问题
使用小于号或小于等于号的场景
<delete id="delOvertimeLog" parameterType="java.lang.Integer">DELETE FROM operate_logWHERE operate_time < CURDATE() - INTERVAL #{logCleanTime} DAY
</delete>
现象:会报解析异常
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 53; 元素内容必须由格式正确的字符数据或标记组成。at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:259) ~[mybatis-3.4.4.jar:3.4.4]at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:125) ~[mybatis-3.4.4.jar:3.4.4]at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:78) ~[mybatis-3.4.4.jar:3.4.4]at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:520) ~[mybatis-spring-1.3.1.jar:1.3.1]... 54 common frames omitted
解决方案:
<delete id="delOvertimeLog" parameterType="java.lang.Integer">DELETE FROM operate_logWHERE operate_time < CURDATE() - INTERVAL #{logCleanTime} DAY
</delete>
使用大于号的场景
<delete id="delOvertimeLog" parameterType="java.lang.Integer">DELETE FROM operate_logWHERE operate_time > CURDATE() - INTERVAL #{logCleanTime} DAY
</delete>
现象:正常执行,没有错误
总结
如果用小于号(<) 或者小于等于号(<=)则必须转义,其余可以不转义。因为Mapper.xml 文件里 < (小于)号 , >(大于)号 ,会被认为是括号。
附录
转义代码 | 字符 | 含义 |
---|---|---|
< | < | 小于号 |
> | > | 大于号 |
& | & | 和 |
' | ' | 单引号 |
" | " | 双引号 |
xml文件中SQL语句的大于号、小于号、等于号的转义问题相关推荐
- Mybatis中sql语句(大于,小于,等于,不等于
特殊字符 替代符号 & & < < > > " &quo ...
- Spring Boot进阶(33):Mybatis 中xml文件写sql语句时大于、大于等符号转义 | 超级详细,建议收藏
1. 前言
- linux if else 格式,linux shell中 if else以及大于、小于、等于逻辑表达式
在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示 ...
- mybatis中的xml配置文件中sql语句里的比较符号需要用特殊标签包裹有比较大于和小于条件
因xml文件中的比较符合与标签符合一样,系统为区分比较符合就需要特殊标签包裹下: <select id="queryRefundTimeBorrowerInfo"result ...
- idea的xml文件写sql语句出现Tag name expected
起因:因为要在数据库选取和当前时间差在15分钟之内 使用数据库是SQL server,在数据库当中写的sql语句是点击打开链接 select * from alarmInfo where datedi ...
- mysql中大于,小于,等于号怎么表示
< <= > >= & ' '' < <= > >= & ' "
- linux shell中 if else以及大于、小于、等于逻辑表达式
在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示 ...
- linux shell中 if else以及大于、小于、等于逻辑表达式介绍
在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示 ...
- Shell else if mysql_linux shell中 if else以及大于、小于、等于逻辑表达式介绍
比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格.笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间. i ...
- shell中 if else以及大于、小于、等于逻辑表达式介绍
比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格.笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间. i ...
最新文章
- ssl握手过程和ca证书验证
- python进阶免费-菜鸟世界 -python进阶---生成器
- 打包跳过编译_Apache Flink v1.9-SNAPSHOT 源码编译
- 计算机网络体系结构物流层,计算机网络体系结构58029.ppt
- 艾伟_转载:.NET Discovery 系列之二--string从入门到精通(勘误版下)
- 数据:以太坊2.0合约质押新增4.15万ETH
- matlab中对正弦信号采样,正弦信号抽样的实验报告(共9篇).doc
- Java下使用Apache POI生成具有三级联动下拉列表的Excel文档
- mongodb数据导入hbase,spark读取hbase数据分析
- 大数据分析平台的发展趋势如何
- python实战项目分析2—物流
- 市政管网检测机器人收费标准_疏通市政管道 市政管网检测 机器人管道检测价格...
- unity 摄像头跟着鼠标移动_lwj_unity_模拟第一人称摄像机前后左右移动、摄像机随鼠标移动旋转、鼠标点击添加物体...
- 阿里云(企业云解析DNS)让你的博客飞起来
- 织梦系统基本参数php,织梦后台系统基本参数新增的变量数据库修改
- linux从零基础开始
- 部署测试fabric1.0及源码解析
- php捕捉Warning、Notice错误
- 【学生毕业设计】基于web学生信息管理系统网站的设计与实现(13个页面)
- 在线生成各种印章式图片