1. 程式人生 > >Mybatis中$和#的注入使得在控制檯寫的sql語句和資料庫寫的語句查詢結果不一致。

Mybatis中$和#的注入使得在控制檯寫的sql語句和資料庫寫的語句查詢結果不一致。

在使用注入引數的過程中

如果使用高階查詢if 標籤<if test="id!=null"> order by  #{0} <if> 

當注入這個語句時候,

這個語句是不會被識別的,

原因是因為,#是防止注入的,

在if標籤中有sql語句,

所有注入的時候即使在控制檯列印了sql語句  但是實際資料庫是沒有執行到的

解決:使用$符號可以注入sql語句 就可以識別到了。<if test="id!=null"> order by  ${0} <if>