mybatis中動態傳入表名、字段名

原文:http://luoyu-ds.iteye.com/blog/1517607

http://blog.csdn.net/yin_jw/article/details/27193317


要實現動態傳入表名、列名,需要做如下修改

  • 添加屬性statementType="STATEMENT"
  • 同時sql裏的屬有變量取值都改成${xxxx},而不是#{xxx}

statementType:STATEMENT(非預編譯),PREPARED(預編譯)或CALLABLE中的任意一個,這就告訴 MyBatis 分別使用Statement,PreparedStatement或者CallableStatement。默認:PREPARED。這裏顯然不能使用預編譯,要改成非預編譯。

簡單說就是一個是預編譯的,一個是非預編譯的。

如果你要動態傳入字段名,表名之類的如果你的sql執行是預編譯的,這顯然 

是不行的,所以你必須改成非預編譯的。


另外

${xxxx}:$將傳入的數據直接顯示生成在sql中,對於字符串數據,需要手動加上引號。



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