歡迎來到培訓(xùn)無憂網(wǎng)!
咨詢熱線 400-001-5729
2021-11-27 11:41:40|已瀏覽:318次
一場Java面試會遇到很多技術(shù)問題,例如MyBatis技術(shù)。MyBatis是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射。下面,老師結(jié)合就業(yè)面試給大家大家介紹MyBatis相關(guān)問題及答案。
答:Mybatis動態(tài)SQL可以讓我們在XML映射文件內(nèi),以標(biāo)簽的形式編寫動態(tài)SQL,完成邏輯判斷和動態(tài)拼接SQL的功能,Mybatis提供了9種動態(tài)SQL標(biāo)簽:trim|where|set|foreach|if|choose|when|otherwise|bind。
其執(zhí)行原理為,使用OGNL從SQL參數(shù)對象中計算表達(dá)式的值,根據(jù)表達(dá)式的值動態(tài)拼接SQL,以此來完成動態(tài)SQL的功能。
3、Mybatis是如何將SQL執(zhí)行結(jié)果封裝為目標(biāo)對象并返回的?都有哪些映射形式?答:第一種是使用標(biāo)簽,逐一定義列名和對象屬性名之間的映射關(guān)系。第二種是使用SQL列的別名功能,將列別名書寫為對象屬性名,比如T_NAME AS NAME,對象屬性名一般是name,小寫,但是列名不區(qū)分大小寫,Mybatis會忽略列名大小寫,智能找到與之對應(yīng)對象屬性名,你甚至可以寫成T_NAME AS NaMe,Mybatis一樣可以正常工作。有了列名與屬性名的映射關(guān)系后,Mybatis通過反射創(chuàng)建對象,同時使用反射給對象的屬性逐一賦值并返回,那些找不到映射關(guān)系的屬性,是無法完成賦值的。
本文由培訓(xùn)無憂網(wǎng)千鋒教育專屬課程顧問整理發(fā)布,更多Java培訓(xùn)課程資訊歡迎關(guān)注培訓(xùn)無憂網(wǎng)Java培訓(xùn)頻道或添加老師微信:1503333605010
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-5197.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注java培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050