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',而是直接原样翻译。

 

总结:如果要考虑数据类型,用#;若是只考虑字符,则用$.

 

 

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