zoukankan      html  css  js  c++  java
  • mybatis xml中是sql语句报错: Error creating document instance. Cause: org.xml.sax.SAXParseException: The

    最近项目折腾了老半天,找了资料才知道是这么回事。。。

    因为语句中有一个小于号“<”,在XML中,会被当成一个页面元素来解析,不会处理为mysql的SQL语句的组成部分,修改如下:

    1、在xml的sql语句中,不能直接用大于号、小于号要用转义字符

    如果用小于号会报错误如下:

    org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.

    解决办法:

    1,转义字符

                         &lt;                                 

                         <

                         小于号                                           

                         &gt;

                         >                                      

                         大于号

                         &amp;

                         &

                         和

                         &apos;

                         ’

                         单引号

                         &quot;

                         "

                         双引号

    例如: state <= 3 则改成  state &lt;= 3

    2、使用<![CDATA[ ]]>标记


    注意:<![CDATA[ ]]>标记的sql语句中的<where> <if>等标签不会被解析

         <![CDATA[
                 state <= 3
              ]]>

    这样,将会把SQL语句中与XML页面元素相同的元素屏蔽,是的XML不将其解析为XML的元素,从而生成正确的SQL语句。

  • 相关阅读:
    WPF Path和图形
    WPF学习笔记:(二)数据绑定模式与INotifyPropertyChanged接口
    WPF学习笔记:(一)数据绑定与DataContext
    IOC 的理解与解释
    WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
    WPF入门教程系列(一) 创建你的第一个WPF项目
    一、什么是WPF?
    项目问题一、全局变量引起的并发问题
    常用js操作
    escape
  • 原文地址:https://www.cnblogs.com/zhuyeshen/p/11981961.html
Copyright © 2011-2022 走看看