之前這個(gè)動(dòng)態(tài)sql一直沒有效果,

<statement id="searchBookByName" parameterClass="book" resultClass="book">
   SELECT * FROM book
   <dynamic prepend="where">
    <isNotNull>
     name like #name#
    </isNotNull>
   </dynamic>
  </statement>

測試時(shí)我把book的name設(shè)為null,用p6spy查看輸出的sql為:

SELECT * FROM book     where           name like ''

后來在官方文檔上看到“property - 被比較的屬性(必選)”,于是改成

<statement id="searchBookByName" parameterClass="book" resultClass="book">
   SELECT * FROM book
   <dynamic prepend="where">
    <isNotNull propety="name">
     name like #name#
    </isNotNull>
   </dynamic>
  </statement>

果然正常了。

ps:如果在dtd中有這個(gè)檢查或者ibatis解析這樣的xml會(huì)報(bào)錯(cuò),我就不用疑惑兩天了。

特此為記!