最近のプロジェクトは、このようなAの事を知るための情報を見つけるのに長い時間を待っていたトス。。。
「<」、小なり記号を持っている、XMLで、パースへのページ要素として扱われますステートメントは、mysqlは次のように読み取るためにSQL文の一部として扱われませんので。
1、XMLのSQL文で直接数を超えることはできません、使用回数は、エスケープ文字よりも小さくなっています
番号は次のようにエラーが報告されます未満の場合:
org.apache.ibatis.builder.BuilderException:エラー文書インスタンスを作成します。原因:org.xml.sax.SAXParseException:要素の内容は、整形式の文字データまたはマークアップで構成する必要があります。
ソリューション:
1、エスケープ文字
&LT; |
< |
記号未満 |
&GT; |
> |
大なり記号 |
&#038; |
& |
と |
'は、 |
" |
単一引用符 |
&QUOT。 |
" |
二重引用符 |
たとえば、次の状態<= 3、状態℃に変更; = 3
2、使用して、<![CDATA []]>タグ
注:<![CDATA []]> <もし>タグと解決されないように、<>は、内のSQL文のタグ
<![CDATA [
状態<= 3
]]>
このように、SQLステートメントは、同じXMLページ要素シールド要素になりますXMLが正しいSQL文を生成するXML要素としてそれを解析しませんです。