MyBatis

Spring Boot MyBatis

註解

參考資料:(https://zhuanlan.zhihu.com/p/29664462)

1.#{}

使用這個,意味著使用 "預編譯" 語句,也就是 JDBC 的 preparedStatement。

sql 語句中如果存在參數,則會用 "?" 作為佔位符,可以使用這種方式防止 SQL 注入攻擊。

並且使用這種方式,會自動帶有引號。也就是說,該參數被默認為字串。

2.${}

倘若不希望參數能夠原樣輸出,不希望被轉成字串,則使用這個。

可以的話,盡量使用第一種會比較好,因為可以防止 SQL 注入攻擊。

倘若希望原樣輸出,則使用第二種。使用時小心不要被攻擊了。

Last updated