1. 程式人生 > >【Java】Mybatis的#{}和${}

【Java】Mybatis的#{}和${}

背景:

曾經一個朋友跟我說面試的時候問:Mybatis的#{}和${}的區別?

備忘:

#{}

#{}表示一個佔位符號,通過#{}可以實現preparedStatement向佔位符中設定值,自動進行java型別和jdbc型別轉換。#{}可以有效防止sql注入。 #{}可以接收簡單型別值或pojo屬性值。 如果parameterType傳輸單個簡單型別值,#{}括號中可以是value或其它名稱。

${}

${}表示拼接sql串,通過${}可以將parameterType 傳入的內容拼接在sql中且不進行jdbc型別轉換, ${}可以接收簡單型別值或pojo屬性值,如果parameterType傳輸單個簡單型別值,

${}括號中只能是value