自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hibernate可行性全面概括

開發(fā) 后端
這里介紹Hibernate可行性,選擇一個(gè)框架最主要的是看它對(duì)你有沒有意義,意義有多大,是不是比其他框架帶給你的好處要多。沒有絕對(duì)的優(yōu)點(diǎn)也沒有絕對(duì)的缺點(diǎn),重要的是看在什么情況下討論。

在向大家詳細(xì)介紹Hibernate可行性之前,首先讓大家了解下Hibernate的優(yōu)點(diǎn)和缺點(diǎn),然后全面介紹Hibernate可行性。

1.優(yōu)點(diǎn)

◆簡(jiǎn)單:易于學(xué)習(xí),易于使用,通過文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。

◆實(shí)用:提供了數(shù)據(jù)映射功能,提供了對(duì)底層數(shù)據(jù)訪問的封裝(例如ado.net),提供了dao框架,可以使我們更容易的開發(fā)和配置我們的dal層。

◆靈活:通過sql基本上可以實(shí)現(xiàn)我們不使用數(shù)據(jù)訪問框架可以實(shí)現(xiàn)的所有功能,或許更多。

◆功能完整:提供了連接管理,緩存支持,線程支持,(分布式)事物管理,通過配置作關(guān)系對(duì)象映射等數(shù)據(jù)訪問層需要解決的問題。提供了dao支持,并在dao框架中封裝了ado.net,Hibernate和datamapper.增強(qiáng)系統(tǒng)的可維護(hù)性:通過提供dal層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,使系統(tǒng)的設(shè)計(jì)更清晰,更易維護(hù),更易單元測(cè)試。sql和代碼的分離,提高了可維護(hù)性。

2.缺點(diǎn)

◆滯后性:還沒有明確對(duì)。net2.0的支持。最新版本在2.0下編譯可以,但有些單元測(cè)試不能通過。

◆不成熟,工程實(shí)踐較少:ibatisnet在實(shí)際項(xiàng)目中的使用較少。 只是理論上可行。

◆半orm,工具支持較少:需要我們自己寫sql,并且。net下還未發(fā)現(xiàn)可以自動(dòng)生成業(yè)務(wù)層類和配置文件的工具,這點(diǎn)和Hibernate不一樣,Hibernate會(huì)為我們的數(shù)據(jù)庫直接產(chǎn)生sql,并有一些輔助工具。因此使用ibatis比Hibernate要多做一些工作。

3.Hibernate可行性

沒有最好的框架,只有最適合的框架。存在的便是合理的,它存在就說明有它存在的道理。但它未必為我們存在。所以選擇一個(gè)框架最主要的是看它對(duì)你有沒有意義,意義有多大,是不是比其他框架帶給你的好處要多。沒有絕對(duì)的優(yōu)點(diǎn)也沒有絕對(duì)的缺點(diǎn),重要的是看在什么情況下討論。

上面說了部分的ibatis的優(yōu)點(diǎn)和部分缺點(diǎn)。這些優(yōu)點(diǎn)從理論上證明ibatis對(duì)任何數(shù)據(jù)持久層都合適,但未必是最好的選擇。下面對(duì)上面的優(yōu)缺點(diǎn)分別從兩方面討論。

◆簡(jiǎn)單:我們都喜歡簡(jiǎn)單,簡(jiǎn)單意味著學(xué)習(xí)成本低,使用中出錯(cuò)的可能性低。同時(shí),簡(jiǎn)單的東西一般來說功能不夠強(qiáng)大。反過來,復(fù)雜的東西學(xué)習(xí)成本高,用起來不方便,并且團(tuán)隊(duì)沒有很強(qiáng)的技術(shù)實(shí)力,一般不要使用。

◆實(shí)用:解決了項(xiàng)目中需要解決的問題,這是任何實(shí)際工程中采用的框架和工具都應(yīng)具有的性質(zhì),否則就不要拿到實(shí)際項(xiàng)目中來。

◆靈活:靈活有兩層意思,一種是簡(jiǎn)單易擴(kuò)展,另一種是功能強(qiáng)大提供了很多選項(xiàng)。ibatis屬于前者,Hibernate屬于后者。兩者各有優(yōu)缺點(diǎn)。

◆功能完整:ibatis的功能完整也是相對(duì)的,比我們自己開發(fā)的框架應(yīng)該完整,但對(duì)比其他框架肯定也有一些解決不了的問題。

增強(qiáng)系統(tǒng)的可維護(hù)性:利用ibatis可以做到sql和代碼分離,可以設(shè)計(jì)出一個(gè)清晰的數(shù)據(jù)訪問層(dal)。但項(xiàng)目架構(gòu)是否科學(xué)合理,是否以維護(hù),關(guān)鍵不在ibatis,因?yàn)樗皇且粋€(gè)數(shù)據(jù)層框架。但是我們也不得不清楚,要想發(fā)揮ibatis的優(yōu)勢(shì),我們需要做一些額外工作,比如最好設(shè)計(jì)dao接口,需要將業(yè)務(wù)層實(shí)體和對(duì)實(shí)體的訪問放在不同的工程中,同時(shí)需要維護(hù)xml配置文件。

◆滯后性:ibatis組現(xiàn)在還沒有提到要支持。net2.0,很多人在。net2.0下使用ibatis都出現(xiàn)了問題。所以如果要使用。net2.0開發(fā),ibatis不是一個(gè)好選擇,還需要等待。

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

◆半orm,工具支持少:這注定了ibatis不能從本質(zhì)上提升開發(fā)效率,我們需要自己寫sql,寫實(shí)體類,寫配置文件。但這也是它優(yōu)越的地方,它沒有為我們做的他多,所以我們就有更多的施展空間。而且它非常適合那些并不能完全控制數(shù)據(jù)庫的系統(tǒng)和需要利用數(shù)據(jù)庫本身提供的高級(jí)特性的統(tǒng)計(jì)查詢系統(tǒng)的開發(fā)。以上介紹Hibernate可行性。

【編輯推薦】

  1. Hibernate3.1簡(jiǎn)單描述
  2. Hibernate save基礎(chǔ)簡(jiǎn)介
  3. 淺析Hibernate 3二級(jí)緩存基礎(chǔ)
  4. Hibernate流行架構(gòu)淺析
  5. Hibernate update淺談
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-21 16:56:14

Hibernateibatis

2009-09-28 17:27:27

Hibernate A

2009-06-15 09:57:46

HibernateIBatis

2012-04-12 17:41:02

2011-04-28 11:04:22

DataReader分頁

2009-12-25 14:26:40

無線接入技術(shù)集成

2011-06-24 11:35:01

內(nèi)鏈

2011-11-14 09:10:08

虛擬化

2009-02-17 15:59:55

2011-12-13 20:36:26

Android

2020-09-16 09:19:49

數(shù)據(jù)中心

2012-04-09 09:39:59

虛擬化桌面虛擬化VDI終端

2013-08-27 11:15:20

2009-09-25 15:15:54

Hibernate檢索

2009-09-24 09:25:10

Hibernate批量

2009-09-22 13:31:28

Hibernate C

2009-09-28 15:24:38

Hibernate V

2011-08-17 13:07:19

無線局域網(wǎng)

2009-09-22 17:55:51

Spring Hibe

2009-09-29 16:29:40

Hibernate查詢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)