mybatis面試題
mybatis僅有基本的字段映射,對象數據以及對象實際關系仍然需要通過手寫sql來實現(xiàn)和管理。如下是中國人才網給大家整理的mybatis面試題,希望對大家有所作用。
1.Mybatis比IBatis比較大的幾個改進是什么
a.有接口綁定,包括注解綁定sql和xml綁定Sql ,b.動態(tài)sql由原來的節(jié)點配置變成OGNL表達式,c. 在一對一,一對多的時候引進了association,在一對多的時候引入了collection節(jié)點,不過都是在resultMap里面配置
2.什么是MyBatis的接口綁定,有什么好處
接口映射就是在IBatis中任意定義接口,然后把接口里面的方法和SQL語句綁定,我們直接調用接口方法就可以,這樣比起原來了SqlSession提供的方法我們可以有更加靈活的選擇和設置.
3.接口綁定有幾種實現(xiàn)方式,分別是怎么實現(xiàn)的?
接口綁定有兩種實現(xiàn)方式,一種是通過注解綁定,就是在接口的'方法上面加上@Select@Update等注解里面包含Sql語句來綁定,另外一種就是通過xml里面寫SQL來綁定,在這種情況下,要指定xml映射文件里面的namespace必須為接口的全路徑名.
4.什么情況下用注解綁定,什么情況下用xml綁定
當Sql語句比較簡單時候,用注解綁定,當SQL語句比較復雜時候,用xml綁定,一般用xml綁定的比較多
5.MyBatis實現(xiàn)一對一有幾種方式?具體怎么操作的
有聯(lián)合查詢和嵌套查詢,聯(lián)合查詢是幾個表聯(lián)合查詢,只查詢一次,通過在resultMap里面配置association節(jié)點配置一對一的類就可以完成;嵌套查詢是先查一個表,根據這個表里面的結果的外鍵id,去再另外一個表里面查詢數據,也是通過association配置,但另外一個表的查詢通過select屬性配置
6.MyBatis實現(xiàn)一對多有幾種方式,怎么操作的
有聯(lián)合查詢和嵌套查詢,聯(lián)合查詢是幾個表聯(lián)合查詢,只查詢一次,通過在resultMap里面配置collection節(jié)點配置一對多的類就可以完成;嵌套查詢是先查一個表,根據這個表里面的結果的外鍵id,去再另外一個表里面查詢數據,也是通過配置collection,但另外一個表的查詢通過select節(jié)點配置
7.MyBatis里面的動態(tài)Sql是怎么設定的?用什么語法?
MyBatis里面的動態(tài)Sql一般是通過if節(jié)點來實現(xiàn),通過OGNL語法來實現(xiàn),但是如果要寫的完整,必須配合where,trim節(jié)點,where節(jié)點是判斷包含節(jié)點有內容就插入where,否則不插入,trim節(jié)點是用來判斷如果動態(tài)語句是以and 或or開始,那么會自動把這個and或者or取掉
8.IBatis和MyBatis在核心處理類分別叫什么
IBatis里面的核心處理類交SqlMapClient,MyBatis里面的核心處理類叫做SqlSession
9.IBatis和MyBatis在細節(jié)上的不同有哪些
在sql里面變量命名有原來的#變量# 變成了#{變量}原來的$變量$變成了${變量},原來在sql節(jié)點里面的class都換名字交type原來的queryForObject queryForList 變成了selectOne selectList原來的別名設置在映射文件里面放在了核心配置文件里
10.講下MyBatis的緩存
MyBatis的緩存分為一級緩存和二級緩存,一級緩存放在session里面,默認就有,二級緩存放在它的命名空間里,默認是打開的,使用二級緩存屬性類需要實現(xiàn)Serializable序列化接口(可用來保存對象的狀態(tài)),可在它的映射文件中配置
11.MyBatis(IBatis)的好處是什么
ibatis把sql語句從Java源程序中獨立出來,放在單獨的XML文件中編寫,給程序的維護帶來了很大便利。
ibatis封裝了底層JDBC API的調用細節(jié),并能自動將結果集轉換成Java Bean對象,大大簡化了Java數據庫編程的重復工作。
【mybatis面試題】相關文章:
經典面試題02-11
java面試題01-31
.net面試題01-31
微軟面試題01-31
Eclipse面試題02-21
電信面試題01-05
IBM經典面試題01-27
IBM面試題精選12-25
情景面試題01-27