1. 程式人生 > >Mybatis中#{}與&{}的區別

Mybatis中#{}與&{}的區別

一、#{}表示一個佔位符號

  主要有以下幾點功能:

  • 通過#{}可以實現preparedStatement向佔位符中設定值,自動進行Java型別和jdbc型別轉換
  • #{}可以有效的防止SQL注入
  • #{}可以接收建磊型別值或者pojo屬性值
  • 如果parameterType傳給單個簡單型別值,#{}括號中可以是value或其他名稱

二、${}表示拼接SQL串

  • 通過${}可以將parameterType傳入的內容拼接在SQL中而不進行jdbc型別轉換
  • ${}可以接收簡單型別值或pojo屬性值,如果parameterType傳輸單個簡單型別值,${}中只能是value