xml文件sql中大于号、小于号、等号的转义问题
1.用小于或小于等于的场景
代码1:
<delete id="delOvertimeLog" parameterType="java.lang.Integer">
delete from operate_log where 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_log where operate_time < curdate() - interval #{logCleanTime} day
</delete>
代码2:
<delete id="delOvertimeLog" parameterType="java.lang.Integer">
delete from operate_log where operate_time > curdate() - interval #{logCleanTime} day
</delete>
现象:正常执行,没有错误
总结:如果用小于号(<) 或者(<=)就必须转义,其余可以不转义,因为Mapper.xml 文件里 < (小于)号 , >(大于)号 ,会被认为是括号。
附上:
xml文件sql中大于号、小于号、等号的转义问题的更多相关文章
- 【转】通过xml处理sql语句时对小于号与大于号的处理转换
当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...
- MyBatis SQL处理大于、小于号
MyBatis mapper文件是xml文件,需要特殊字符如大于号.小于号后需要转义. 原字符 转义后字符 < < <= <= > > > >=
- MyBatis中大于和小于号的转义写法
mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < .>.<=.>= 时会出错,这时应该使用转义写法. 方式一 < <= > > ...
- 通过xml处理sql语句时对小于号与大于号的处理转换
以上方法,很容易使用,直接ss < #{ss} 法二 <![CDATA[>=]]>表示大于等于 变量<![CDATA[ < ]]>#{变量}表示 ...
- java mybatis XML文件中大于号小于号转义(转载)
因为这个是xml文件不允许出现类似“>”这样的字符 用了转义字符把>和<替换掉,然后就没有问题了. XML转义字符 字段 符号 说明 < ; < 小于号 & ...
- ibatis mybatis sql语句配置 符号不兼容 大于号 小于号<!CDATA[ ]>
ibatis mybatis sql语句配置 符号不兼容 大于号 小于号<!CDATA[ ]> 因为这个是xml格式的,所以不允许出现类似">"这样的字符,但是都 ...
- 【Mybatis】【2】处理大于号小于号及其他特殊字符
正文: 问题:用<的时候会报错.因为是xml文件,会被识别成标签 解决方法: 原sql:SELECT * FROM TABLE T WHERE T.AGE < 10; 1,转义字符.用转义 ...
- mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值
在mybatis中可能会用到的方法 1.模糊查询 <select id="showByIdName" parameterType="User" resul ...
- 【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】
处理大于小于号的方法: https://www.cnblogs.com/winner-0715/p/6132755.html 第一种方法:用转义字符把">"和"&l ...
随机推荐
- 在IIS上搭建WebSocket服务器(一)
一.搭建环境 1.System.Web.WebSockets需搭建在Windows8及Server2012以上系统的上. 2.在Windows8及Server2012以上系统的上安装IIS和WebSo ...
- npm ERR! code ENOENT
npm ERR! path F:\VsCodeWorkspace\labWeb\front\LabWebAdminFrontEnd\node_modules\core-jsnpm ERR! code ...
- ckeditor,关于数据回显
- PS中如何提高修改psd图片的效率(自动选择工具)
在photoshop中制作图片的时候,一般要养成保留psd格式的习惯,纵然普通时候jpg,png格式常用,考虑到以后可能需要修改,也应该备份一下.如果考虑到以后需要修改,可每次成品保存成两个,一个ps ...
- Bugku 分析 中国菜刀
解压之后得到了一个流量包,只有不到10KB,美滋滋 先抓重点,过滤出http,只有6条数据记录,3条post,3条response,3条post都是一样的 随便打开一条pos 是一个assert断言, ...
- [Codeforces702F]T-Shirts——非旋转treap+贪心
题目链接: Codeforces702F 题目大意:有$n$种T恤,每种有一个价格$c_{i}$和品质$q_{i}$且每种数量无限.现在有$m$个人,第$i$个人有$v_{i}$元,每人每次会买他能买 ...
- Android 入门(2)修改EditText下划线颜色 / 隐藏标题栏
1 添加颜色 colors.xml中增加 <color name="colorRed">#FF3300</color> 2 添加style styles.x ...
- Java斗地主案例、异常和自定义异常整理
模拟斗地主洗牌发牌 1.1 案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张 ...
- 前端神器之jquery
jquery介绍 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. ...
- Django admin修改密码
django的admin用户被我多动症一样的测试,给密码弄丢了,需要重置. 从数据库重置的可能性为0,因为django对于密码有保护策略.考虑从运行程序的地方进行重置: 1.在程序的文件夹下,执行这样 ...