技術對比著學 mybatis和hibernate

2021-09-24 22:56:05 字數 802 閱讀 6325

近來打算寫一下技術總結類的部落格,對自己以往的技術做一次複習和加深

mybatis和hibernate都是資料庫持久層框架,之前面試經常被問到mybatis和hibernate的區別,現在問的少了,現在市面上使用mybaits的比較多,但這兩個框架始終可以作為對比來學習

一、hibernate

14年的時候專案中使用了hibernate,那時候專案是spring+struts2+hibernate框架開發,現在基本忘記了hibernate的特性了,記得hibernate提供了很好的運算元據庫的api,基本上就不需要寫sql,當時的業務使用hibernate框架開發還是比較方便的,現在隨著接觸的專案和技術,感覺hibernate已經不那麼合適了,隨著業務邏輯的複雜,資料庫表關聯以及資料量的變大,系統效能就會有很多需要優化的地方,而hibernate簡單的增刪改查sql都自動生成了,這一點給sql優化就不可控,hibernate也可以自己寫sql,但是這樣以來個人感覺就失去了hibernate的優勢。hibernate提供了完善的增刪改查api,而且是資料庫無關的

二、mybatis

之後開始接觸mybatis,感覺mybatis是半自動化的持久層框架,相對於hibernate個人也習慣與使用mybatis,mybatis也能自動生成一些增刪改查sql,mybatis框架sql都是可以輕鬆可見的,這樣對大型專案來說,sql優化就方便多了,而且mybatis使用起來覺得輕量很多,**侵入也少了,mybatis上手開發應該比hibernate簡單很多,mybatis提供了一級快取和二級快取,與hibernate一級快取和二級快取實現不一樣

mybatis和hibernate的對比

mybatis 半自動化 的orm實現,在於pojo與sql之間的對映關係。hibernate 全自動 orm實現了pojo和資料庫表之間的對映,以及 sql 的自動生成和執行。sql優化方面 hibernate的查詢會將表中的所有字段查詢出來,效能消耗。hibernate也可以自己寫sql來指定需...

i7 10750h和r5 4600h對比哪個好

i7 10750h是一款高階膝上型電腦處理器,具有基於comet lake架構 cml h,第4代skylake 主頻2.5ghz動態加速頻率可達5ghz。採用6核12執行緒的14奈米工藝。快取為12m,功耗為45w。該處理器仍採用舊的14nm 14nm 工藝製造。選r5 4600h還是i7 107...

華為和H3C命令對比

命令解釋 huawei h3c 檢視當前的所有生成樹資訊 display stp 檢視當前處於up狀態的生成樹的介面狀態,介面角色,生成樹特性資訊 display stp brief 檢視當前 g0 0 1 display stp int g0 0 1 檢視橋的生成樹狀態詳細資訊 display s...