一:框架前言的那些事
良將難求 勝鐵騎三千 益友知遇 領人間無數,三國鼎立中魏、蜀,吳三國的三位皇帝曹操、劉備、劉權他們都有很多謀士(出謀劃策的人)。這些謀士其實就是他們出攻城略地的策劃方案的,而他們能否成功取決於策劃方案是否周全,能高屋建瓴的佈局,並且能縱觀全域性進行排兵佈陣。先做什麼,再做什麼,還是很有說法的,在有天賦的同時還得遵循一定的發展規律,那麼眾所周知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程式程式碼,看看這樣的程式碼存在什麼問題。