Mybatis初步學習的問題總結

學習了一段時間的mybatis之後,存在一些疑惑和不解。當然也有一些收穫。現在得花一些時間進行一次總結

單獨使用mybatis是有很多限制的(比如無法實現跨越多個session的事務),而且很多業務系統本來就是使用spring來管理的事務,因此mybatis最好與spring集成起來使用。所以接下來的任務是對學習的spring進行學習總結

兩次總結之後的任務是利用好所學知識,完成一個實例(網上有好多免費的而且講解很清楚的mybatis和spring的教程,我做學習的是傳智播客的教程)

 

MyBatis 是持久層框架

咳咳作爲一個大二學生,接觸並不多所以啥也不知道哈哈哈(尬笑)

持久層框架是什麼??

       持久是相對於瞬時來說的,* 持久層,可以理解成數據 保存在 數據庫或者 硬盤一類可以保存很長時間的設備裏面,不像放在內存中那樣斷電就消失了,也就是把數據存在持久化設備上*。。總體來說就是長久的將數據儲存下來,放在磁盤上啊等等。 

       爲什麼使用持久層框架???

       企業應用中* 數據很重要(各種訂單數據、客戶數據、庫存數據之類的),比應用程序本身更重要, 所以需要把數據持久化。持久化可以通過很多方式,寫文件和數據庫都可以。只是現在企業一般都會選擇把數據持久化到數據庫中,因爲可以很方便的查詢統計分析,但數據庫的數據最終還是會寫到磁盤上的。Java 程序員爲了操作數據庫, 最開始是使用JDBC* 來進行的,但是這種方式* 開發效率低 ,要寫一堆重複代碼,加上關係數據庫和對象本身存在所謂的阻抗不匹配情況,所以 爲了提高開發效率,有人發明了 ORM 即 對象關係映射框架* (Hibernate是其中的佼佼者),對於 Java 程序員來說,就可以通過操縱對象來操縱數據庫了。Hibernate和mybati s都是持久層框架。

原生態jdbc程序的問題:全部手動寫sql,語句什麼的有大量重複,且存在一定的硬編碼。delete、insert、update要將對象的值一個一個取出傳到sql中,不能直接傳入一個對象。(暑期綜合實訓就用的這個方法,確實很麻煩,不過也很簡單。原理弄清楚了之後,環境配置好不出錯了之後,不到兩天就完成了所有的剩餘的工作。)

mybatis的特點:半自動化,sql要手動寫,delete、insert、update:直接傳入一個對象,不用一個一個輸。輸入輸出都可以是對象,就完事兒了!!sql寫在xml裏,便於統一管理和優化.sql和代碼的分離,提高了可維護性。提供xml標籤,支持編寫動態sql。

mybatis總體流程:

1加載配置,將配置文件加載成對象  

2 sql解析得到sql語句和參數  

3 sql執行得到操作數據庫的結果  

4 結果映射,將操作數據庫的結果按照映射夫人配置進行轉換,可以轉換成基本數據類型返回結果。

 

 

發佈了15 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章