Mybatis 的常見面試題

2022-02-11 06:37:31 字數 1125 閱讀 9107

背景:好久沒用mybatis了,有些面試題還是要好好準備的。

問題集mybatis 的常見面試題

mybatis常見面試題總結

ps:總結的還是很全面的

mybatis常見面試題1:精講#{}和${}的區別是什麼?

使用#{}可以有效的防止sql注入,提高系統安全性。原因在於:預編譯機制。預編譯完成之後,sql的結構已經固定,即便使用者輸入非法引數,也不會對sql的結構產生影響,從而避免了潛在的安全風險。

mybatis呼叫mysql儲存過程

儲存過程(stored procedure)是一組為了完成特定功能的sql語句集,

儲存過程優點

儲存過程增強了sql語言的功能和靈活性。儲存過程可以用流控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的運算。

儲存過程允許標準元件是程式設計。儲存過程被建立後,可以在程式中被多次呼叫,而不必重新編寫該儲存過程的sql語句。而且資料庫專業人員可以隨時對儲存過程進行修改,對應用程式源**毫無影響。

儲存過程能實現較快的執行速度。如果某一操作包含大量的transaction-sql**或分別被多次執行,那麼儲存過程要比批處理的執行速度快很多。因為儲存過程是預編譯的。在首次執行乙個儲存過程時查詢,優化器對其進行分析優化,並且給出最終被儲存在系統表中的執行計畫。而批處理的transaction-sql語句在每次執行時都要進行編譯和優化,速度相對要慢一些。

儲存過程能過減少網路流量。針對同乙個資料庫物件的操作(如查詢、修改),如果這一操作所涉及的transaction-sql語句被組織程儲存過程,那麼當在客戶計算機上呼叫該儲存過程時,網路中傳送的只是該呼叫語句,從而大大增加了網路流量並降低了網路負載。

儲存過程可被作為一種安全機制來充分利用。系統管理員通過執行某一儲存過程的許可權進行限制,能夠實現對相應的資料的訪問許可權的限制,避免了非授權使用者對資料的訪問,保證了資料的安全。

儲存過程缺點

不易維護,一旦邏輯變了修改起來麻煩

如果寫此儲存過程的人離職了,對於接手她**的人估計是一場災難,因為別人還要去讀懂你程式邏輯,還要讀懂你儲存邏輯。不利於擴充套件。

最大的缺點! 雖然儲存過程可以減少**量,提高開發效率。但是有一點非常致命的就是太耗效能。

mybatis常見面試題

1.mybatis動態sql是做什麼的?都有哪些動態sql,簡單描述一下動態sql的執行原理?mybatis動態sql是 指在對映檔案xml中可以通過標籤的形式編寫動態sql,完成邏輯判斷和動態拼接sql的功能。有9種動態sql標籤 trim where set foeach if choose w...

MyBatis常見面試題

1.和 的區別。是預編譯處理,是字串替換。mybatis在處理 時,會將sql中的 替換為?號,呼叫preparedstatement的set方法來賦值。mybatis在處理 時,就是把 替換成變數的值。使用 可以有效的防止sql注入,提高系統安全性。可以使用 時盡量使用 2.mybatis與hib...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...