今天在Mapper.xml文件写查询语句报了个奇怪的错误 Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 45; 元素内容必须由格式正确的字符数据或标记组成. 元素内容必须由格式正确的字符数据或标记组成 当时我的代码如下 <!-- …
今天同事写一个查询接口的时候,出错:元素内容必须由格式正确的字符数据或标记组成. 错误原因:mybatis查询的时候,需要用到运算符 小于号:< 和  大于号: >,在mybatis配置文件里面,这种会被认为是标签,所以解析错误 错误事例: select <include refid="Base_Column_List" /> from t_time_interval where status <> 99 and time_intvl_id >…
今天在写接口查询SQL时,报了一个异常,如下: Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 242; 元素内容必须由格式正确的字符数据或标记组成. 经查资料,发现是由于查询语句中"<"和">"引起的…
一个web应用,框架为SpringMVC Spring Mybatis ,昨天写了一下午的代码,因为逻辑较大,期间也没测,打算写完这个功能点在进行测试,谁知道写完的时候,tomcat根本启动不起来了,报的错误就是“元素内容必须由格式正确的字符数据或标记组成”,第一反应是不是在给数据库表中添加的数据的时候是不是类型不匹配,但一想,启动就报错应该不是吧.改了半天还是有问题,后来上网找了资料知道: 在用mybatis写SQL语句的时候 ,语句中的运算符包含 "<"和 ">…
三月 09, 2018 12:13:39 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCre…
原查询 select sum(case when age<=16 then 1 else 0 end ) age1, sum(case when age>16 and age<=25 then 1 else 0 end ) age2, sum(case when age>25 and age<=35 then 1 else 0 end ) age3, sum(case when age>35 and age<=45 then 1 else 0 end ) age4…
当时在mapper其中的一个语句是case when ISNULL(b.c_truename) || LENGTH(TRIM(b.c_truename)) < 1 then b.c_ch_name ELSE b.c_truename end cnname启动就报这个错误,解决办法 : 将 < 号换成  <     > 号 换成 > 例如 case when ISNULL(b.c_truename) || LENGTH(TRIM(b.c_truename)) < 1 th…
当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误. 这样的问题在iBatiS中或者自定义的xml处理sql的程序中经常需要我们来处理.其实很简单,我们只需作如下替换即可避免上述的错误: 这样的问题在iBatiS中或者自定义的xml处理sql的程序中经常需要我们来处理.其实很简单,我们只需作如下替换即可避免上述的错误: 原符号   <    <…
之前在项目中遇到了在SQL中<=不识别的问题,在Navicat中语句正常,在xml中不识别,想起来就记录一下 项目用的是Mybatis,经过网上多次查询,验证,总结方法如下: 一.使用<![CDATA[ ]]>符号 例如:<![CDATA[ c.COUPON_MININUM <= #{COUPON_MININUM} ]]> 因为在XML中不允许出现“<”等符号,在经过“<![CDATA[ ]]>”处理的大于小于符就不会被解析 二.使用XML转义字符 &…
掌握MyBatis中动态SQL元素的使用 if choose(when,otherwise) trim where set foreach <SQL>和<include> 在应用中我们经常会做一些动态的拼接条件,但是如果是JDBC我们可以用程序拼接SQL语句,如果MyBatis,我们可以使用动态SQL语句.例如按照员工姓名和工资来搜索员工信息,如果如果姓名和工资的检索值为空,则忽略这个检索条件.一般来说,我们都会用where 1=1类似这种写法来实现,但是MyBatis就需要动态语…