mybatis中 個 問題

2021-07-30 22:26:50 字數 462 閱讀 9187

最近在用mybatis,之前用過ibatis,總體來說差不多,不過還是遇到了不少問題,再次記錄下,

比如說用#{},和 ${}傳參的區別,

使用#傳入引數是,sql語句解析是會加上"",比如  select * from table where name = # ,傳入的name為小李,那麼最後列印出來的就是

select * from table where name = 『小李』,就是會當成字串來解析,這樣相比於$的好處是比較明顯對的吧,#{}傳參能防止sql注入,如果你傳入的引數為 單引號',那麼如果使用${},這種方式 那麼是會報錯的,

另外一種場景是,如果你要做動態的排序,比如  order by   column,這個時候務必要用${},因為如果你使用了#{},那麼列印出來的將會是

select * from table order by  'name'  ,這樣是沒用,

目前來看,能用#就不要用$,

mybatis中的快取問題

關於mybatis基礎我們前面幾篇部落格已經介紹了很多了,今天我們來說乙個簡單的問題,那就是mybatis中的快取問題。mybatis本身對快取提供了支援,但是如果我們沒有進行任何配置,那麼預設情況下系統只開啟了一級快取,一級快取就是同乙個sqlsession執行的相同查詢是會進行快取的,ok,那麼...

mybatis中的快取問題

關於mybatis基礎我們前面幾篇部落格已經介紹了很多了,今天我們來說乙個簡單的問題,那就是mybatis中的快取問題。mybatis本身對快取提供了支援,但是如果我們沒有進行任何配置,那麼預設情況下系統只開啟了一級快取,一級快取就是同乙個sqlsession執行的相同查詢是會進行快取的,ok,那麼...

mybatis簡單使用中的問題

1 mybatis對映檔案中取引數 括號中只能寫value 相當於拼串,不能防止sql注入 括號中可以使用任意字元 預編譯,可以防止sql注入 2 模糊查詢 mysql可以直接如此寫 select from user where username like 五 mybatis對映檔案中 select...