在IbatiS的select中有兩個占位符 # 和 $
我們先看一個 一個查詢語句:
select * from user where Name = #userName#;
我們用#這個占位符可以查詢到 我們想要的結(jié)果,可是當(dāng)我們需要模糊查詢的時候該怎么辦呢?
select * from user where Name = ‘%#userName#%’(錯誤的寫法);如果我們這樣寫,程序在編譯的時候會報錯,因為 # 這個占位符前面還有別的 符號,#這個占位符是不允許這樣寫的,這個時候我們就可以用 $ 這個占位符:
select * from user where Name = ‘%$userName$%’(正確的模糊查詢寫法),這樣寫編譯器不會報錯,也能得到我們想要的結(jié)果。
歸根結(jié)底的原因就是 # 占位符會把我們的SQL 語句翻譯成
select * from user where Name = ? 這樣的語句,然后在填充參數(shù)。
$ 占位符會把我們的SQL語句 翻譯成
select * from user where Name = '想要查詢的東西' 這個樣標準的SQL語句
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。