1. 程式人生 > 其它 >關於mybatis的引數傳入區別${column}、#{column}

關於mybatis的引數傳入區別${column}、#{column}

有時候我們使用mybatis的Mapper.xml對資料庫進行操作的時候,會出現這種情況:

先上資料庫:


①:我們想傳入兩個引數,動態更新查詢條件。

但是執行的時候發現,雖然資料庫中有Name=1的資料,但是缺查不到????

先說解決方案,文末再總結原因:

xml中的資料庫語句換成這樣:

查詢結果:

成功!!!!


②:我們想查詢自定義列的資訊。

奇了怪了????怎麼我讓你去查Name=1的Age列,你把自己Age作為查詢結果給我????

解決方案:

執行結果:

成功!!!!


總結:

查閱了Mybatis文件後發現:

在Mybatis中,${column}

會被直接替換,而#{value}會使用?預處理。

#{value}預處理:

我們在②問題那會出現到資料庫中查詢變成這樣的情況,因為引數名預處理會變成這樣。

所以我們看到的結果會有一個Age的查詢結果。


文件中的總結: