開心生活站

位置:首頁 > 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