> For the complete documentation index, see [llms.txt](https://brianwu.gitbook.io/brian/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brianwu.gitbook.io/brian/zi-liao-ku/mybatis.md).

# MyBatis

## Spring Boot MyBatis&#x20;

### 註解

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

#### 1.#{}

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

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

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

#### 2.${}

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

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

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