今天在Mapper.xml文件写查询语句报了个奇怪的错误

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 45; 元素内容必须由格式正确的字符数据或标记组成。

元素内容必须由格式正确的字符数据或标记组成

当时我的代码如下

  1. <!-- 查询7天的数据 -->
  2. <if test="param.day =='1'">
  3. AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=  SEARCH_TIME
  4. </if>
<!-- 查询7天的数据 -->
<if test="param.day =='1'">
AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= SEARCH_TIME
</if>

后来来网上查了下发现

原因 : Mapper.xml 文件里  < (小于)号 ,   >(大于)号 ,会被认为是括号,需要额外注意,

解决办法 : 将 < 号换成  &lt;     > 号 换成&gt; 

  1. <if test="param.day =='1'">
  2. AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;=  SEARCH_TIME
  3. </if>
<if test="param.day =='1'">
AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;= SEARCH_TIME
</if>

接下来就不报错了,但是我发现判断 <if test="param.day =='1'">失败,没有进入到if里

原因 :在xml文件直接判断 ' != ' 是可以的 ,判断 ' == ' 会发生冲突

解决办法  :   <if test="param.day =='1'.toString()"> 在判断的参数后加上toString()方法;

关于MyBatis一些小错误,元素内容必须由格式正确的字符数据或标记组成.的更多相关文章

  1. MyBatis异常:元素内容必须由格式正确的字符数据或标记组成

    今天在写接口查询SQL时,报了一个异常,如下: Cause: org.apache.ibatis.builder.BuilderException: Error creating document i ...

  2. Mybatis 元素内容必须由格式正确的字符数据或标记组成

    一个web应用,框架为SpringMVC Spring Mybatis ,昨天写了一下午的代码,因为逻辑较大,期间也没测,打算写完这个功能点在进行测试,谁知道写完的时候,tomcat根本启动不起来了, ...

  3. mybatis异常 :元素内容必须由格式正确的字符数据或标记组成。

    今天同事写一个查询接口的时候,出错:元素内容必须由格式正确的字符数据或标记组成. 错误原因:mybatis查询的时候,需要用到运算符 小于号:< 和  大于号: >,在mybatis配置文 ...

  4. Cause: org.xml.sax.SAXParseException; lineNumber: 45; columnNumber: 62; 元素内容必须由格式正确的字符数据或标记组成。

    三月 09, 2018 12:13:39 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending ...

  5. org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成,的错误问题

    当时在mapper其中的一个语句是case when ISNULL(b.c_truename) || LENGTH(TRIM(b.c_truename)) < 1 then b.c_ch_nam ...

  6. 关于mybatis条件查询 报错:元素内容必须由格式正确的字符数据或标记组成

    原查询 select sum(case when age<=16 then 1 else 0 end ) age1, sum(case when age>16 and age<=25 ...

  7. 记在thinkPHP中一个创建模型的小错误

    在创建好模型以后,访问说没有该方法,如图 看代码 class ManagerModel { //put your code here function checkDenglu($name,$pwd){ ...

  8. Java中用FileInputStream和FileOutputStream读写txt文件,文件内容乱码的问题,另附循环代码小错误

    乱码问题大概就是编码格式不一样,搜了很多都是这么说的,修改编码解决乱码问题链接: https://blog.csdn.net/weixin_42496466/article/details/81189 ...

  9. CSS网页布局中易犯的30个小错误

    即使是CSS高手,也难免在书写CSS代码的时候出一些小错误,或者说,任何一种代码都是如此.小错误却往往造成大问题,浪费很多无辜的时间来调试和排错.查看下面这份CSS网页布局中易犯的10个小错误,努力的 ...

随机推荐

  1. Python3 Tkinter-Label

    1.创建 from tkinter import * root=Tk() root.title('Hello tkinter!') root.mainloop() 2.使用内置位图 from tkin ...

  2. ffmpeg接收rtsp流问题

    项目使用mingw环境g++5.3,C++调用ffmpeg接收rtsp流,再通过C#显示.结构上是C#调用C++的so文件,读取得到的视频帧(RGB888格式),通过图片控件显示. 一开始是使用ope ...

  3. [leetcode-753-Open the Lock]

    You have a lock in front of you with 4 circular wheels. Each wheel has 10 slots: '0', '1', '2', '3', ...

  4. 软件工程课堂作业(一)——随机产生四则运算题目(C++)

    一.设计思想: 1.首先主函数只用来调用随机产生并输出运算题目函数,随机产生并输出这一部分功能用一个randout函数实现: 2.随机产生运算数这一功能,两个运算数可以用随机函数生成,并将它们控制在1 ...

  5. 算法与数据结构实验题 6.3 search

    ★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x, ...

  6. Alpha 冲刺2

    队名:日不落战队 安琪(队长) 今天完成的任务 组织第二次站立式会议. 完成40%个人信息前端界面. 明天的计划 完成剩下的60%个人信息前端界面. 还剩下的任务 个人信息修改前端界面. 遇到的困难 ...

  7. 【week7】psp

    本周psp 项目 内容 开始时间 结束时间 中断时间 净时间 2016/10/31 技术学习 看向数据库传入数据的代码 18:00 21:00 45 135 psp记录 将psp记录进电脑 21:20 ...

  8. dedecms 后台登录地址

    dedecms  后台登录地址 http://www.域名.com/member/index.php

  9. C# 开发者最经常犯的 8 个错误

    在和C#新手一起工作的时候,我注意到他们经常重复一些错误.这些错误,当你指出来的时候很容易理解.然而,如果一个开发者没有意识到这些错误,将会影响正在开发的软件的质量和效率,因此,我决定总结8个常见的错 ...

  10. 面试:谈谈你对jQuery的理解

    jQuery是一个轻量级的javascript框架,极大的简化了js的编程. 1.首先jQuery提供了强大的元素选择器.用于获取html页面中封装了html元素的jQuery对象.像常见的选择器有: ...