1?Spring 值注解--@Value 中${} 和 #{}區(qū)別:
? ?${} 是引用外部參數(shù)對應(yīng)的property
? ?#{}是SPEL表達(dá)式滚朵,內(nèi)部表達(dá)式可以直接引用spring IoC管理的對象的屬性
2?Mybatis 動態(tài)sql ${} 和 #{}的區(qū)別:
????mybatis 對sql進(jìn)行預(yù)編譯之前會先進(jìn)行動態(tài)解析,解析為一個BoundSql對象(動態(tài)解析)
????#{}會被解析為 參數(shù)標(biāo)記符號 前域?辕近;
????${}會直接將傳入的參數(shù)作為String字符串替換;
${} 代價:
無法防止sql注入匿垄;
${} 優(yōu)勢:
一般傳入的是數(shù)據(jù)庫對象移宅,如表;
#{}優(yōu)勢:
很大程度上可以防止sql注入椿疗;