??? NHibernate,我們先看BAIDU上的說法:
????Hibernate是一個目前應(yīng)用的最廣泛的開放源代碼的對象關(guān)系映射框架,它對Java的JDBC(類似于ADO.Net)進(jìn)行了非常輕量級的對象封裝,使得程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫,目前在國內(nèi)Java開發(fā)界已經(jīng)頗為流行,Hibernate+Spring往往是很多Java公司招聘的要求。而NHibernate,顧名思義,如同NUnit,NAnt一樣,是基于.Net的Hibernate實現(xiàn),但是目前介紹NHibernate的資料非常少,缺少一個系統(tǒng)完整的教程來全面的展現(xiàn)和深入NHibernate,而且現(xiàn)在NHibernate的文檔又殘缺不全,少的可憐,很多NHibernate的學(xué)習(xí)者往往都是通過Hibernate的文檔來學(xué)習(xí),但是畢竟不是所有的.Net開發(fā)者都熟悉Java,也不是所有的人都有精力有時間去學(xué)習(xí)Java,所以,我準(zhǔn)備開始一個Step by Step的NHibernate教程,以便有興趣的朋友能夠快速的熟悉NHibernate,能夠更快地體驗NHibernate的開發(fā)樂趣。
NHibernate 是一個基于.Net 的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫。Nhibernate 來源于非常優(yōu)秀的基于Java的Hibernate 關(guān)系型持久化工具。 (以上引用
http://baike.baidu.com/view/954535.htm?fr=ala0
)
NHibernate 從數(shù)據(jù)庫底層來持久化你的.Net 對象到關(guān)系型數(shù)據(jù)庫。NHibernate 為你處理這些,遠(yuǎn)勝于你不得不寫SQL去從數(shù)據(jù)庫存取對象。你的代碼僅僅和對象關(guān)聯(lián),NHibernat 自動產(chǎn)生SQL語句,并確保對象提交到正確的表和字段中去。
????? 我不懂Hibernate,我也不懂NHibernate 。從大學(xué)出來,我一直用的是LLBLGen這個工具,從網(wǎng)上的介紹來看,兩者是差不多的。但是LLBLGen不是開源的,而且還是一個收費的產(chǎn)品。LLBLGen是一個專門針對net 數(shù)據(jù)庫開發(fā)的產(chǎn)品。除了Hibernate 開源的優(yōu)點它沒有之外,其它的優(yōu)點了都有了。
????? LLBLGen在互聯(lián)網(wǎng)上,我學(xué)的時候網(wǎng)我還真不到中文的教程,只有一些相關(guān)的介紹罷了。到我寫的這個為止,也沒能找到中文教程。或許它的作者出個中文教程,對開開拓中國市場將會有很大的幫助。
????? 我用了兩年多的LLBLGen,我只說我的感覺:
????? 1、如果你常用它,你會忘記SQL怎么樣寫。
????? 2、它把業(yè)務(wù)邏輯層,表示層,物理存儲分得是一目了然。
????? 3、用它寫的程序,你一句SQL都不用出現(xiàn)在你的程序上。
????? 4、非常的面向?qū)ο螅@是當(dāng)初給我的第一感覺。
????? 說點壞的:
????? 5、當(dāng)數(shù)據(jù)量大時,效率明顯比ado.net直接寫下降很多。
????? 6、復(fù)雜一點的SQL想用它來表示,估計你得花很長的時間。如果是ado.net ,那肯定不存在這個問題。
????? 7、對存儲過程的效果好像不是很好。你很難將存儲過程用它來現(xiàn)到窗體上。
????? 或許我說少了好處,也可能說少了壞處。
????? 它生成的文檔,每一個實體作為一個類,類里面的方法是很豐富的,你能想到的,它都有了。
????? 用它的關(guān)聯(lián)來操作數(shù)據(jù)庫,很省事,比如保存任意的一個表,這個表有很多的子表,那么,只要主表save一次,子表也自動跟著搞定了。所有的表的保存,都可以一個方法就可以搞定了。表的操作就簡單了,這是ado.net無法相比的。刪除也一樣。
可以很大程度上減輕工作量。我們還可以修它生成代碼的模版,生成我們自己想要的代碼。關(guān)于大量數(shù)據(jù)處理的問題,改善的辦法還是有的,但是有點麻煩。(完)
?????? 下一篇,將介紹如何使用它來生成代碼
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
