Mybaitis入門基礎(一)MyBatis的概念引入及工作原理

紅酒人生發表於2022-04-23

一:框架前言的那些事                                                                                                                                               

        良將難求 勝鐵騎三千 益友知遇 領人間無數,三國鼎立中魏、蜀,吳三國的三位皇帝曹操、劉備、劉權他們都有很多謀士(出謀劃策的人)。這些謀士其實就是他們出攻城略地的策劃方案的,而他們能否成功取決於策劃方案是否周全,能高屋建瓴的佈局,並且能縱觀全域性進行排兵佈陣。先做什麼,再做什麼,還是很有說法的,在有天賦的同時還得遵循一定的發展規律,那麼眾所周知java學習分為三個部分:java基礎,java高階,javaweb框架部分。在我們之前的學習過程中我們要想把資料庫的資料成功的展示在web頁面上,我們使用的是jdbc、servlet、jsp技術。這也是我們接觸的最基礎入門基的mvc結構,即model資料訪問層我們使用的是jdbc,view檢視層我們使用的是jsp或html+ajax,controler控制層我們使用的是servlet最為後臺java語言和前端jsp和html之間資料傳遞轉換的的中間人,即客戶端和後臺伺服器端資料溝通的媒介和橋樑。

       各位大佬都知道資料持久化是使用java技術將記憶體中的瞬時資料轉換為持久化的狀態,說白了就是java型別的資料和資料庫型別的資料做下轉換。伺服器端的是將後臺java形式的資料送回到客戶端進行展示,即將資料響應到客戶端。客戶端是根據客戶的需求將請求傳送給伺服器端進行請求處理的。

       話不多說,先看看我們學習過的mvc結構,程式碼的呼叫過程是什麼樣的。

       資料持久化           呼叫                  伺服器端                   呼叫                    客戶端                     

       Model                  ↔                    controller                    ↔                        view    

       jdbc                    new                  servlet                       new                       jsp/html+ajax 

     

      那我們再來看看後期學習的框架後的mvc結構,程式碼的呼叫過程是什麼樣的。   

       資料持久化           呼叫                  伺服器端                   呼叫                    客戶端                     

       Model                  ↔                    controller                    ↔                        view    

       mybatis              new                   servlet                       new                       jsp/html+ajax/html+vue

       mybatis             spring                 servlet                     spring                      jsp/html+ajax /html+vue

       mybatis             spring                 springMVC              spring                      jsp/html+ajax /html+vue

       mybatis             spring                 springBoot             spring                       jsp/html+ajax /html+vue

 

      那麼問題來了我們為什麼學習新框架呢?他們完成的功能不是一樣的嗎?那我來考考你,看下你平時是不是關注過生活細節,long long age 很久以前,我們去銀行開卡,存錢,取錢,是不是都在櫃檯上辦理,銀行有很多個視窗,都有穿著制服的小哥哥小姐姐,在給客戶辦理業務。但是現在再去銀行,你是不是發現,銀行視窗辦理業務的小哥哥和小姐姐只有一兩個了,而大廳裡卻多了很多機器,很多客戶在機器邊排隊等待自己在機器上辦理業務了。這是不是銀行在提高了辦理業務效率的同時,還節約了人員成本呢?這家銀行辦事效率提高了,是不是就可以轉而去提高服務質量了,這樣這家銀行是不是就會很受大家歡迎,這家銀行是不是就在同時提高了客戶滿意度的同時,也就能賺錢多多啦?這是不是就達到了雙贏的目的。企業嘛就是以賺錢為主,無論是國企還是私企。此處有人就問holly姐說了這麼多,這和我們學習框架某個毛線關係啊?別急呀,聽我細細道來,其實我們軟體開發追根溯源就是圍繞著增刪改查在玩。企業也想達到雙贏,有能賺錢多多,用人成本又能很低。那怎麼解決呢?就是優化我們的工作方式和技術。比如原來用jdbc能開發企業級軟體專案嗎?能,但是開發週期可能會很長,可能用jdbc開發週期要1年,但是用了框架我們可能開發週期程式設計6個月了。假設是同一個團隊,一年開發一個專案任務,創造的價值是200w,每個人的薪資老闆只能開8k。如果同樣的團隊,一年開發兩個專案任務,創造的價值是400w,也許老闆吃到肉吃飽的同時,會讓你們喝湯,這個時候每個人的薪資老闆可能給你開到13k左右。這已經是有良心的老闆嘍!框架其實就是優化了原來最傳統的一些開發技術,提高了開發效率,自己寫的程式碼也可以打包優化,重複使用。現在曉得了吧?那麼說了大半天,jdbc即將要被替代掉,那它問題出現在哪呢 ?

一:對原生態JDBC問題的總結                                                                                                                                   

  新專案要使用mybatis作為持久層框架,由於本人之前一直使用的Hibernate,對mybatis的用法實在欠缺,最近幾天計劃把mybatis學習一哈,特將學習筆記記錄於此,方便大家參考,也方便自己查閱。

  話不多說,先看看原始的JDBC程式程式碼,看看這樣的程式碼存在什麼問題。

相關文章