輕鬆了解 區別

2021-10-08 06:34:58 字數 698 閱讀 9060

兩者都可以在mybatis中用在輸入對映

#{}是預編譯處理,

$是字串替換。

1.mybatis在處理#{}時,會將sql中的#{}替換為?號,呼叫preparedstatement的set方法來賦值;

select * from user where name =

#;

#{} 在動態解析的時候, 會解析成乙個引數標記符

select * from user where name = ?;
mybatis在處理 $ 時,就是把 $ 替換成變數的值,完成的是簡單的字串拼接。

select * from user where name =

'$';

${}在動態解析的時候,會將我們傳入的引數當做string字串填充到我們的語句中,就會變成下面的語句

select * from user where name =

"dato"

;

補充:

在mybatis中使用

#{}可以防止sql注入,提高系統安全性。

$方式無法防止sql注入。

一般能用#的就別用$.

輕鬆了解threadlocal

threadlocal是什麼 threadlocal是乙個關於建立執行緒區域性變數的類。通常情況下,我們建立的變數是可以被任何乙個執行緒訪問並修改的。而使用threadlocal建立的變數只能被當前執行緒訪問,其他執行緒則無法訪問和修改。local local 意思是該執行緒的threadlocal...

輕鬆了解Linux入門命令

2010 01 07 13 59 佚名 csdn 字型大小 t t 隨著linux發展迅速,很多人開始學習linux系統,你了解linux系統麼?你是linux系統的應用者麼?本文為你詳細介紹linux入門命令,為你在學習linux入門命令時起一定的作用。ad 2013雲計算架構師峰會超低價搶票中 ...

3分鐘讓你輕鬆了解CRM

上個世紀90年代中後期,以客戶為中心 的市場營銷理論經過不斷演繹,孕育出一整套相關的企業管理理論和實踐方法,在這些層出不窮的管理新概念中,crm迅速脫穎而出並逐步走向成熟。隨著crm越來越多的被提及,很多第一次接觸crm的人往往並不清楚crm是什麼?它有什麼功能與優勢?crm主要 商有哪些?怡海軟體...