開心生活站

位置:首頁 > IT科技 > 

mybatis#和$的區別

IT科技1.17W

mybatis #和$區別是:

mybatis#和$的區別

1、“#”將傳入的數據當成一個字符串,會對自動傳入的數據加一個雙引號。例如“order by #id#”,如果傳入的值是111,那麼解析成sql時的值變爲“order by "111"”,如果傳入的值是id,在解析成sql爲“order by "id"”,其實原sql語句通常寫成 “order by #{id} 與order by #id#”的效果一樣。

2、“$”將傳入的數據直接顯示在sql語句中。例如“order by ${id}”,如果傳入的值是9則解析成sql語句爲“order by 9”。

3、“#”方式能夠很大程度上防止sql注入,而“$”無法防止sql的注入,“$”一般用於傳入數據庫對象,例如傳入表名一般能用#就別用“$”,mybatis排序時使用order by動態參數時需要注意,使用“$”而不是“#”。

標籤:MyBatis