ibatis中的order by 參數配置問題

    今天在寫項目的時候,碰到了這個問題,調試了半天都沒搞定。最後把問題鎖定到xml配置文件上:

 

一般配置文件都這麼寫

<select ...>

select * from table where XXX = #valule# order by #value#

</select>

 

但是由於ibatis在將參數值映射到statement裏面時,所以對於 #value# 會解釋成 字符串 'value' ,於是我的代碼就被解釋成

 

select * from table where XXX = 'valule' order by 'value'

 

這樣顯然不對,所以得換個方法

 

<select ...>select * from table where XXX = #valule# order by $value$</select>

 

用$$來包含order by的參數,就OK了~因爲$$內的value不會被解釋成'value',而是直接原樣翻譯。

 

總結:如果要考慮數據類型,用#;若是隻考慮字符,則用$.

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章