国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Hibernate與IBatis的優缺點及可行性分析

開發 后端
本文對Hibernate與IBatis從功能完整性、滯后性等多個方面進行分析比較,作者希望大家可以在項目中借鑒IBatis的思路。

1.優點

簡單:

易于學習,易于使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現。

實用:

提供了數據映射功能,提供了對底層數據訪問的封裝(例如ado.net),提供了dao框架,可以使我們更容易的開發和配置我們的dal層。

靈活:

通過sql基本上可以實現我們不使用數據訪問框架可以實現的所有功能,或許更多。

功能完整:

提供了連接管理,緩存支持,線程支持,(分布式)事物管理,通過配置作關系對象映射等數據訪問層需要解決的問題。提供了dao支持,并在dao框架中封裝了ado.net,Hibernate和datamapper。

增強系統的可維護性:
通過提供dal層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。

2.缺點

滯后性:

還沒有明確對.net2.0的支持。最新版本在2.0下編譯可以,但有些單元測試不能通過。
不成熟,工程實踐較少:
ibatisnet在實際項目中的使用較少。 只是理論上可行.
半orm,工具支持較少:
需要我們自己寫sql,并且.net下還未發現可以自動生成業務層類和配置文件的工具,這點和Hibernate不一樣,Hibernate會為我們的數據庫直接產生sql,并有一些輔助工具。因此使用ibatis比Hibernate要多做一些工作。

3.可行性

沒有最好的框架,只有最適合的框架。 存在的便是合理的,它存在就說明有它存在的道理。但它未必為我們存在。所以選擇一個框架最主要的是看它對你有沒有意義,意義有多大,是不是比其他框架帶給 你的好處要多。沒有絕對的優點也沒有絕對的缺點,重要的是看在什么情況下討論。
上面說了部分的ibatis的優點和部分缺點。這些優點從理論上證明ibatis對任何數據持久層都合適,但未必是最好的選擇。下面對上面的優缺點分別從兩方面討論。

簡單:

我們都喜歡簡單,簡單意味著學習成本低,使用中出錯的可能性低。同時,簡單的東西一般來說功能不夠強大。反過來,復雜的東西學習成本高,用起來不方便,并且團隊沒有很強的技術實力,一般不要使用。

實用:

解決了項目中需要解決的問題,這是任何實際工程中采用的框架和工具都應具有的性質,否則就不要拿到實際項目中來。

靈活:

靈活有兩層意思,一種是簡單易擴展,另一種是功能強大提供了很多選項。ibatis屬于前者,Hibernate屬于后者。兩者各有優缺點。

功能完整:

ibatis的功能完整也是相對的,比我們自己開發的框架應該完整,但對比其他框架肯定也有一些解決不了的問題。
增強系統的可維護性:
利用ibatis可以做到sql和代碼分離,可以設計出一個清晰的數據訪問層(dal)。但項目架構是否科學合理,是否以維護,關鍵不在ibatis,因 為它只是一個數據層框架。但是我們也不得不清楚,要想發揮ibatis的優勢,我們需要做一些額外工作,比如最好設計dao接口,需要將業務層實體和對實 體的訪問放在不同的工程中,同時需要維護xml配置文件。

滯后性:

ibatis組現在還沒有提到要支持.net2.0,很多人在.net2.0下使用ibatis都出現了問題。所以如果要使用.net2.0開發,ibatis不是一個好選擇,還需要等待。

不成熟:

開源的東西很難說成熟,但一般比我們自己寫的框架要成熟。由于我們可以拿到他的源代碼,所以關鍵在于我們能否駕馭它。

半orm,工具支持少:

這注定了ibatis不能從本質上提升開發效率,我們需要自己寫sql,寫實體類,寫配置文件。但這也是它優越的地方,它沒有為我們做的他多,所以我們就 有更多的施展空間。而且它非常適合那些并不能完全控制數據庫的系統和需要利用數據庫本身提供的高級特性的統計查詢系統的開發。
使用ibatis需要自己寫sql,由于我們的sql不可能完全符合sql標準,比起Hibernate產生的sql來,可移植性差。不過由于我們更改 數據庫的可能性較小,對我們來說sql符合標準以便可以在遷移到不同服務器時代價最小并不是十分必要的。另一方面,Hibernate雖然可以屏蔽很多 數據庫間的不同,但是卻很難利用某些數據庫的高級特性,比如oracle的分析統計函數。
Hibernate不適合數據庫模式不規范,約束不完整,需要大量復雜查詢的系統,同時Hibernate的學習成本較高,完全掌握Hibernate也較困難,風險較大。
自己寫框架未必比ibatis的好,穩定,強大和可擴展。而且自己開發框架也需要較大的工作量。
如果使用dotnet并且要選一個數據層框架,而系統中有相當一部分較復雜的sql,或數據庫設計不合理,臟數據多,對性能和資源要求嚴格,ibatis 是一個比較不錯的選擇。他的那些缺點并不是致命的,而且也是有一些解決方案的。尤其是,當選用了ibatis的dataaccess作為dao框架時,我 們可以同時使用Hibernate,ado.net和datamapper(ibatisnet的核心組件),那樣將會使風險降到最低,并且整個系統的 框架比較合理。
另外,利用ibatis可以統一編碼風格,節約開發成本,大家不會再把精力浪費到分頁 連接池 主鍵生成等地方了,可以集中精力進行業務組件的編寫。

綜上: 很多時候我們要在是自己開發框架和選用第三方框架和選用什么樣的框架問題上進行綜合考慮。考慮的標準當然是項目的當前情況和我們希望達到目的的一個平衡。

ibatis只是封裝了數據訪問層,替我們做了部分的對象關系映射。但我們的代價是必須要寫xml配置文件,相對于Hibernate我們還要寫很多 sql。Hibernate通過工具直接從數據庫模式生成實體類和基本的配置文件,而且大部分情況下不需要我們寫sql,會較大的提升開發效率。但這些也 有很多的局限性,尤其是對環境的要求較高(數據庫設計,對象設計,團隊的協作等)。

個人感覺ibatis對項目比較有意義的地方在于它小巧靈活,可擴展,封裝了數據訪問層(事務,緩存,異常,日志),并提供了dao框架支持。

利用ibatis我們可以做到代碼和sql的分離,只要sql能夠解決的問題,ibatis就能幫我們較容易的解決,同時也使我們的項目對某一框架的依賴 性變小(因為ibatis是非侵入性的)。這將極大的降低項目風險,減少解決復雜問題的時間,使項目的維護變得簡單。

ibatis對于應用的修改,調試,擴充和維護將會變得容易自然。修改時,我們主要修改的是代表模型的實體對象,xml配置文件中的sql,和/或配置文 件的resultmap(很多時候是不需要的)。同時,sql和代碼分離,我們不用在代碼的stringbuffer的append方法之間尋找需要修改 的sql。配置文件中的sql便利了我們的調試和對sql的評審及以后的sql重用。

利用一些框架在前期一般會拖慢開發效率。因為我們需要付出學習成本,很多時候,使用框架需要寫很多配置文件,在使用不熟時開發速度較慢;同時利用框架往往 使系統代碼量增大,比如model1和model2模型,開發效率應該還是model1快,四層的架構肯定比兩層的代碼量大。 但對于中后期開發和維護將會極大的提高效率。

利用一些較完全的開發框架和代碼生成工具,在前期會較大的提高開發效率,但在后期常常會拖慢進度,并有可能成為以后維護的夢魘。比如torque生成實體類和其對應的sql,雖大幅提高了效率,但修改負擔較大。

比較理想的開發方式是使用簡單框架結合簡單的代碼生成工具。框架提供系統的基礎服務,并規范開發。框架一方面提供了開發中某一方面的開發基礎支持,比如數 據訪問層,事務,日志,公用類,異常等。另一方面,也為開發定義了模式,定義了系統的基本輪廓。同時,通過簡單的代碼生成工具生成部分低級的代碼。比如通 過工具從數據庫模式生成實體類。這些類生成后我們可以自由修改。

Hibernate是十分強大,比較完善的orm框架,不過這是它的優點也是它的缺點。 J2EE系統是否采用Hibernate3,是一個需要認真評估的問題。

要想Hibernate工作的好,數據庫的設計必須好。同時對于復雜的數據操作同時需要使用sql,Hibernate3對于直接使用sql的支持比Hibernate2要自然,這一點是可以接受的。

Hibernate比較復雜,功能強大而靈活,要用好Hibernate確實不是很簡單,當然spring框架提供了對Hibernate的封裝,使Hibernate的使用變得簡單了點。

可以說ibatis在任何系統里都適用,但未必是最好選擇。不過ibatis提供的思路是我們應該仔細考慮的。

【編輯推薦】

  1. Hibernate中load和get的兩大區別
  2. Hibernate HQL sum查詢對象獲取的感受
  3. 對Hibernate sum函數的使用之分析
  4. 初學者適用的Hibernate學習方法
  5. Hibernate API進行批量更新存在的缺點
責任編輯:張攀 來源: 博客園
相關推薦

2009-09-21 16:40:42

Hibernate可行

2012-04-12 17:41:02

2009-06-19 18:36:15

JPAHibernate

2012-04-09 09:39:59

虛擬化桌面虛擬化VDI終端

2009-12-25 14:26:40

無線接入技術集成

2011-04-28 11:04:22

DataReader分頁

2013-08-27 11:15:20

2011-12-13 20:36:26

Android

2009-06-12 10:09:17

2009-09-24 14:04:25

Hibernate i

2022-03-11 08:31:50

API網關微服務

2011-08-17 13:07:19

無線局域網

2009-09-22 13:12:25

Hibernateibatis

2009-07-17 13:13:47

iBATIS Hibe

2011-06-24 11:35:01

內鏈

2011-07-05 14:12:06

關鍵任務虛擬化服務器

2011-07-05 10:37:03

虛擬化VMware

2009-02-17 15:59:55

2010-06-21 14:14:33

OSPF協議

2009-07-17 10:08:39

Hibernate與i
點贊
收藏

51CTO技術棧公眾號

亚洲国产成人在线| 亚洲成人免费电影| 91精品国产高清久久久久久91裸体| 国产日韩电影| 欧美日韩在线播| 在线免费中文字幕| 一色屋精品亚洲香蕉网站| 久操手机在线视频| 日韩av电影一区| 国产伦精品一区二区三区照片91 | 成人av午夜电影| 日韩精品在在线一区二区中文| 最新国产精品| 成人网页在线免费观看| 91社在线播放| 日本一二三不卡| 国产精品小说在线| 日韩欧美亚洲天堂| 高清国产午夜精品久久久久久| 三区精品视频| 日韩极品在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 日本在线观看天堂男亚洲| www.久久久久爱免| 欧美吻胸吃奶大尺度电影 | 国产精品天堂| 日韩午夜免费视频| 国产精品久久久久久av下载红粉 | 69久久夜色精品国产69蝌蚪网| 九色在线网站| 欧美日韩在线视频首页| 国产偷国产偷亚洲清高网站| 日本不卡视频一区二区| 色偷偷88欧美精品久久久| 亚洲福利视频免费观看| 国产色a在线| 日韩欧美在线影院| 成人bbav| 中文字幕亚洲欧美日韩高清| 91九色综合| 久久久女女女女999久久| 天堂综合网久久| 91免费综合在线| 日韩不卡在线观看日韩不卡视频| 亚洲欧洲一区二区福利| 不卡影院免费观看| www 四虎| 欧美一区二区三区免费| 成人性生活视频| 国外成人在线播放| 日韩精品一卡| 久久久久久久有限公司| 粉嫩一区二区三区性色av| 538任你躁在线精品免费| 一区二区三区日韩欧美| 国产三区四区在线观看| 亚洲日本aⅴ片在线观看香蕉| 日韩av电影资源网| 国产精品av网站| 久久综合九色综合欧美狠狠| 91猫先生在线| 色噜噜狠狠成人网p站| 国产中文在线播放| 国产ts人妖一区二区三区| 在线日韩中文| av免费在线播放网站| 欧美日韩亚洲91| 国产三级电影在线播放| 东京热加勒比无码少妇| 国产精品美女www爽爽爽| 人人干人人干人人| 欧美三级中文字| 亚洲日本网址| 日韩视频在线免费| 永久在线免费观看| 亚洲人成五月天| 精品久久一区| 国产欧美自拍视频| 亚洲成a人片在线不卡一二三区| 黄网址在线观看| 欧美日韩成人在线播放| 尹人成人综合网| 99免费视频观看| 日韩视频一区二区三区在线播放| 久久黄色影视| 少妇高潮流白浆| 欧美午夜性色大片在线观看| 国产精品国产亚洲精品| 精品久久蜜桃| 亚洲综合视频网| 久久久久亚洲精品中文字幕| 亚洲欧美综合一区| 福利精品视频在线| vam成人资源在线观看| 亚洲国产精品视频一区| 全国精品久久少妇| 久久久久久亚洲精品美女| 久久亚洲欧美日韩精品专区| 欧美性爽视频| 久久久91精品国产一区二区三区| av漫画网站| 亚洲最新中文字幕| 国产一级久久| 日本精品专区| 国产精品r级在线| 91色.com| 亚洲精品一区三区三区在线观看| 欧美不卡福利| 欧美中文字幕一区二区三区| 国产精品三级| 色偷偷福利视频| 欧美激情精品久久久久久黑人| 国产精品一区二区不卡| 黄页网站在线| 欧美xxxx黑人又粗又长精品| 日韩欧美国产一区二区| 国产剧情一区| 免费在线黄色av| 欧美一级电影久久| 国产精品视频你懂的| 久久久久久久久成人| 亚洲熟妇国产熟妇肥婆| 亚洲精品中文字幕av| 免费成人av资源网| 超碰个人在线| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 国产精品一二三四区| 日本高清成人vr专区| 欧美精品123| 欧美一区二区视频在线观看2020| 精品成人在线| av在线导航| 亚洲精品高清视频| 亚洲成人久久网| 精品一区在线看| 欧美性片在线观看| 免费在线a视频| 欧美激情一区二区三区高清视频| 久久理论电影网| 亚洲综合色婷婷在线观看| 久久久国产欧美| 国产www精品| 福利微拍一区二区| 激情婷婷久久| 影音先锋在线视频| 中文字幕成人一区| 最新国产精品亚洲| 久久久久免费观看| 久9久9色综合| 福利视频在线播放| 亚洲春色综合另类校园电影| 日韩精品在线影院| 精品一区二区三区不卡| 成人毛片免费| 国产美女视频黄a视频免费| 国产精品老牛影院在线观看| 国产欧美日韩| 大色综合视频网站在线播放| 欧亚一区二区| 国产在线精品播放| 色哟哟国产精品| 中日韩男男gay无套| 国产嫩草在线视频| 欧美乱大交xxxxx潮喷l头像| 尹人成人综合网| 小h片在线观看| 日本熟妇人妻中出| 成人在线中文字幕| 精品国产sm最大网站免费看| 99精品国产视频| 成人在线免费观看视频| av在线导航| 玩弄japan白嫩少妇hd| 欧美一区深夜视频| 欧美高清性hdvideosex| 国产99久久久国产精品潘金网站| 国产精品日韩精品在线播放 | 国产三级精品视频| 日韩免费久久| 欧美女同一区| 最近中文字幕一区二区| aaa级精品久久久国产片| 亚洲国产精品视频在线观看| 久久人人超碰精品| 国户精品久久久久久久久久久不卡| 丁香高清在线观看完整电影视频| 91视频 -- 69xx| 成人免费网视频| 亚洲另类xxxx| 亚洲福中文字幕伊人影院| 免费成人在线观看视频| 96sao在线精品免费视频| av网站在线播放| 97xxxxx| 91色精品视频在线| 色老头一区二区三区| 懂色av中文一区二区三区天美| 国产伦精品一区二区三区视频青涩| 日本午夜精品| 国产精品vvv|