1. #{} 佔位符 preparesatement 預編譯
* $ 拼接字串 satment 拼接
* "%"#{}"#" 可以將%放在這裡進行拼接。
2. #{}和${}都是用來設定sql對映檔案中statement引數的佔位符,通過parametertype設定statemenet的引數型別,這裡可以有string字串、基本型別、pojo、map型別;
3. 區別:
* 安全性:#..可以防止sql注入,$..只是進行內容拼接不能避免
* 實現方式:#..是預編譯寫入 ,$.. 是拼接方式
* 如果只是單純的設定引數就使用#{},而不用${}
* 使用場景:
* 表名是動態的: select* from $
* like查詢: select* from name like '%$%'
* 列名是動態的:
* 排序列是動態的:
* 總結:
* 在操作確定資料型別的情況下使用#{}
* 在操作不確定的資料型別的情況下使用${}
MyBatis中 號與美元符號的區別
可以進行預編譯 型別匹配等操作,會轉化為jdbc的型別。select from tablename where id 假設id的值為12,其中如果資料庫欄位id為字元型,那麼 表示的就是 12 如果id為整型,那麼id就是12,並且mybatis會將上面sql語句轉化為jdbc的select fro...
MyBatis中 號與美元符號的區別
可以進行預編譯 型別匹配等操作,會轉化為jdbc的型別。select from tablename where id 假設id的值為12,其中如果資料庫欄位id為字元型,那麼 表示的就是 12 如果id為整型,那麼id就是12,並且mybatis會將上面sql語句轉化為jdbc的select fro...
js中 , , 號的區別
和 比較若型別不同,先嘗試轉換型別,再作值比較,最後返回值比較結果 而 和 只有在相同型別下,才會比較其值。一.叫做賦值運算子,用來賦值 二.叫做嚴格運算子。嚴格運算子的運算規則如下,1 不同型別值 如果兩個值的型別不同,直接返回false。2 同一類的原始型別值 同一型別的原始型別的值 數值 字串...