更新時間:2022-12-15 16:27:50 來源:動力節點 瀏覽1068次
mybatis企業必問面試題可以說是很多面試官喜歡提到的問題,所以我們在此之前一定最好準備,這樣才能更加有效的回答,好了,廢話不多說,直接上干貨:
mybatis動態sql是做什么的?
其實mybatis的動態sql,無非就是可以讓我在xml映射文件內以標簽的形式編寫動態sql的,這樣可以完成我們邏輯判斷和動態拼接sql。mybatis為我們提供動態的sql標簽,其中mybatis的標簽分別定義sql語句(select、insert、delete、upadate)、控制動態sql拼接(if、foreach、choose)、格式化輸出(where、set、trim)、配置關聯關系(collection、association)、配置Java對象屬性與查詢結果集中列表對應關系(resultMap)以及定義常用和引用(sql和include)。
問到mybatis動態語句,一定會問到動態sql的執行原理是什么?
sql動態的執行原理非常簡單,它是使用ognl從sql參數對象中計算表達式的值,然后再根據表達式的值動態進行拼接sql的,這樣就可以完美地完成動態sql的功能了。
你說一下一級緩存和二級緩存是什么吧?
首先,一級緩存它是指session緩存的,要知道的是一級緩存作用域默認是為sqlsession,同時默認也是幫你開啟一級緩存。當同一個sqlsession中的時候,執行相同查詢語句,在第一次的時候回去數據庫進程查詢,然后再寫到緩存中去,再第二次以后都是直接去緩存中取了。
知道一級緩存了,二級緩存其實和一級緩存其機制相同,它的默認也是采用 PerpetualCache,HashMap 存儲的,而不同的是在于其存儲作用域為 Mapper(Namespace)中,并且可以自定義存儲源。還有二級緩存默認關著的,假如你要取消的話,你可以通過mybatis配置文件來指定cacheEnabled為false即可,代碼如下:。
再說一說mybatis二級緩存應用場景
二級緩存應用主要對于哪些訪問多的查詢請求,以及用戶對查詢結果實時性要求不高,這時候可采用mybatis二級緩存技術降低數據庫訪問量,從而提高訪問速度。
以上就是“mybatis企業必問面試題,這幾道需要格外注意”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習