1. 程式人生 > >mybatis 中的![CDATA[ ]]

mybatis 中的![CDATA[ ]]

在使用mybatis 時我們sql是寫在xml 對映檔案中,如果寫的sql中有一些特殊的字元的話,在解析xml檔案的時候會被轉義,但我們不希望他被轉義,所以我們要使用<![CDATA[ ]]>來解決。

<![CDATA[ ]]> 是什麼,這是XML語法。在CDATA內部的所有內容都會被解析器忽略。

如果文字包含了很多的"<“字元 <=和”&"字元——就象程式程式碼一樣,那麼最好把他們都放到CDATA部件中。 但是有個問題那就是 等這些標籤都不會被解析,所以我們只把有特殊字元的語句放在

<![CDATA[ ]]> 儘量縮小 <![CDATA[ ]]> 的範圍。
  <select id="query4StatusAndTimeoutMessage" resultMap="BaseResultMap">
          <![CDATA[
          select message_id, message, try_count, status, next_retry, create_time, update_time
              from broker_message_log bml
              where status = '0'
              and next_retry <= sysdate()
          ]]>
    </select>

sysdate()代表的是系統時間。為了讓<=不被轉移,引入了<![CDATA[]]