1. 程式人生 > >面試---mybatis框架知識點

面試---mybatis框架知識點

一:是什麼

myabtis是一個支援普通sql查詢,儲存過程和高階優秀對映的優秀持久城框架,去除了所有jdbc程式碼和引數的手工設定以及對結果集的檢索封裝。mybatis可以使用xml或者註解進行配製和原始對映。其主要思想是將程式中的大量的sql語句剝離出來,將sql程式碼與語句分離,可以不修改程式碼,直接在配置檔案修改sql。

二與hibernate的區別

Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將java物件與資料庫表建立對映關係,是一個全自動的orm框架。Hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。

MyBatis:機械工具,使用方便,拿來就用,但工作還是要自己來作,不過工具是活的,怎麼使由我決定。(小巧、方便、高效、簡單、直接、半自動)

Hibernate:智慧機器人,但研發它(學習、熟練度)的成本很高,工作都可以擺脫他了,但僅限於它能做的事。(強大、方便、高效、複雜、繞彎子、全自動)
原文:https://blog.csdn.net/eff666/article/details/71332386 

--------------------- 

三:

動態代理開發四個原則:

(1)介面中方法名與Mapper中的id一致。

(2)namespace與介面中類的路徑一致

(3)輸入引數與/mapper中入引數

(4)返回值與Mapper中的ResultType一致,。

四:

mapper配置:

五:名稱空間(Namespaces現在名稱空間則是必須的,且意於簡單地用更長的完全限定名來隔離語句。名稱空間使得你所見到的介面繫結成為可能,儘管你覺得這些東西未必用得上,你還是應該遵循這裡的規定以防哪天你改變了主意。出於長遠考慮,使用名稱空間,並將它置於合適的 Java 包名稱空間之下,你將擁有一份更加整潔的程式碼並提高了 MyBatis 的可用性。

六:在mybatis框架中,寫dao層的mapper介面時,是不可以進行方法的過載的。

七:列舉型別:

https://blog.csdn.net/qq_28988969/article/details/78605735

八:

mybatis初始化過程經過以下的幾步:

  • 1. 呼叫SqlSessionFactoryBuilder物件的build(inputStream)方法;
  • 2. SqlSessionFactoryBuilder會根據輸入流inputStream等資訊建立XMLConfigBuilder物件;
  • 3. SqlSessionFactoryBuilder呼叫XMLConfigBuilder物件的parse()方法;
  • 4. XMLConfigBuilder物件解析xml配置檔案返回Configuration物件;
  • 5. SqlSessionFactoryBuilder根據Configuration物件建立一個DefaultSessionFactory物件;
  • 6. SqlSessionFactoryBuilder返回 DefaultSessionFactory物件給客戶端,供客戶端使用。

九:快取:https://mp.csdn.net/postedit/82856308