亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

如何用JDO開發數據庫應用

2019-11-18 12:40:26
字體:
來源:轉載
供稿:網友

  本文將介紹如何使用Sun公司的最新《java Data Objects 》規范來進行基于數據庫的簡單應用程序的開發,從而使讀者對JDO有一個直接的感性的熟悉,為更深入的開發作鋪墊,同時也希望拋磚引玉,讓更多的富有經驗的高手也參與到推廣JDO的進程中來,為讀者提供更多更出色的文章!
  
  1. JDO是何方神圣,難道是ADO的翻版?
  本節對稍熟悉JDO一點的讀者來說,可能算是老生常談,一堆垃圾,不如回收掉算了。不過我卻認為這些是實話實說,有感而發,不吐不快,對新手可能也有一定的幫助,至少應該有一點共鳴吧。所以,老手請直接跳過本節。
  
  1.1. Java的優點
  自從Java語言面世以來,它那幾乎完全面向對象的特性和解放我們程序員的自動垃圾回收機制給我們展現了一個全新的開發天地:原來程序還可以這樣寫!我用過幾年C++,里面的指針簡直折壽!我還記得有些功能里面不得不使用類似“***lpszInfoMapOfMap”之類的變量,它是指針的指針的指針,要在編碼過程中準確地把握這一點已屬不易,何況還要記得釋放每一處占用的內存,并且還不能釋放多次(嚴格地說,應該是將自己申請的內存進行且只進行一次釋放)!我至今都還很佩服當年清楚的頭腦,然而在調試過程層出不窮的“accessViolation”和“NullPointer”錯誤竟使我一夜白頭?。ㄓ幸淮伟疽拐{試一個問題,第二天憔悴了很多。)C++之后,我也用過三年以上的Delphi,程序代碼好理解、易維護了很多,不過指針仍是胸中永遠的痛!直到Java,才使我脫離苦海,進入“按思維的速度進行開發”的時代……
  
  當Java的速度得到很大改善后,我們開始用它來寫數據庫應用,但說實話,Java的數據庫方面還很原始,圖形界面編程中的數據庫組件很不好用,再加上主要寫的是Web應用,只有JDBC接口可供選擇。提起JDBC,我相信很多讀者都會有這樣的印象:概念太多,嚴密但麻煩,尤其是資源的釋放也是一大問題。比起微軟的ADO來,簡直是一團亂麻,容錯性尤其差勁。
  
  1.2. 對象包裝技術,百家爭鳴?群魔亂舞?
  于是,從規范化開發的原則出發,我們開始寫自己的JavaBean來包裝數據對象,使數據對象化,避免太多的地方涉及JDBC操作。但一些問題也隨之而來:靈活性不夠,接口死板,性能低下,這使我一陣苦惱。于是,“君子性非異也,善假于物也”,咱也上網去找點“技術支持”!很快,竟然被我發現了“Castor JDO”,一個專用于數據包裝的撞闋榧峁┝薕DMG標準的OQL作為查詢語言,方便且輕易理解,比SQL好多了。這讓我享受了一段時間的“面向對象的數據庫開發”的好處,一句話,“效果不錯,還實惠!”。
  
  然而,好景不長,Castor一些內在的BUG影響了穩定性,而這個免費產品的更新又太慢,一直未能解決。只好放棄?!皥淌窒嗫礈I眼,竟無語凝噎”!怎么辦?要知道,由儉入奢易,由奢入儉難,吃過肉的人,怎能忍受只能吃菜的生活!象《甲方乙方》里面那個一心想吃素的大款還是不多見的。對我們來說,再使用JDBC原始調用似乎難以下咽,再用JavaBean包裝又有點返古,于是我又開始了網上的搜尋歷程。余秋雨先生有《文化苦旅》,咱這也算是《編程苦旅》了,呵呵,苦笑。
  
  從網上的資料來看,我的這些經歷也是很多Java開發同仁的共同經歷,無論是國內還是國外,不過從實際情況來看,國外的研究更深入更廣泛一些,至少從網上所能找到的資料來說是這樣。美國從八十年代起就開始研究面向對象的數據庫ODBMS,目前已有一些成形的產品,比如Versant公司的Versant數據庫,FastObjects公司的FastObjects t7數據庫,以及其它一些相對市場份額小一些的諸如ObjectStore等公司的產品,當然,也不乏一些免費的產品,如Orient等等。總的來說,ODBMS盡管擁有面向對象的優點,但由于歷史原因,在與關系數據庫RDBMS的競爭中始終處于下風,基于RDBMS的應用還是占絕大多數,因此,出現了Object-Relational映射的一些工具,前面提到的Castor就是近年來出現的一個工具,實際上更早的時候,已經有一些成熟、穩定的商業化產品出現,比如前一陣被Oracle收購的TopLink,被BEA收購的WebGain等等,比較有名氣的CocoBase等等。
  
  象TopLink這樣的產品我也了解了一下,功能確實強大,性能、穩定性都有優勢,然而,其同樣強大的價格和古怪的API令我卻步。我很擔心被鎖定在某個產品上面,無法脫身,眾所周知,Java給我們的就是一種自由的感覺,自由,永遠是那么地吸引人。
  
  出路在哪里?JDO浮現在我眼前。
  
  1.3. JDO浮出水面,可別以為是ADO
  JDO自1999年起就由一些經常寫數據庫對象映射層的富有經驗的開發人員提出大綱,他們在長期的面向對象開發中進行了大量的數據庫方面的處理和對象化包裝,終于,多種多樣的包裝方式引起很多兼容性方面的問題。于是,一些主要的開發團隊就聯合起來,以SUN為領頭羊,制定了JDO規范。它的目標不是取代JDBC或EJB,而是在JDBC的基礎上進行包裝,同時又可以做EJB的底層(CMP),簡化J2EE服務器提供商的工作。JDO主要面向中小型規模的項目,不過隨著產品提供商(Vendors)給出越來越多的功能(Feature),比如分布式的同步控制等等,JDO的作用也越來越大。
  JDO規范在Sun的富有經驗的Craig Russel的帶領下,經過三年的討論,終于在2002年四月形成了第一版。目前最新版是1.0.1版,在 http://access1.sun.com/jdo/ 可以看到。
  (大家應該知道,Java的規范形成時間一般都比較長,因為它太開放了,任何人都可以發表意見,參與制定規范的人都要考慮這些意見)
  
  ADO是微軟的數據訪問組件集合,相信很多寫過基于asp頁面的數據庫應用的朋友都印象深刻,快速、容錯性強是它的特點,不過擴展性就不敢恭維,寫多少年都是那幾個東東,無法超越。一些剛接觸JDO的讀者可能會將JDO與ADO搞混起來,以為是Java版的ADO,那就大錯特錯了,兩者風馬牛不相及,可以說不是一個檔次上的東西。慶幸的是,微軟沒有將“xDO”這類縮寫注冊成商標或專利,否則兩個大塊頭又要打官司了,嘿嘿,我倒是喜歡看熱鬧,打起來同樣出色!
  
  1.4. JDO產品介紹
  JDO規范自從2002年4月推出以來,出現了很多種各有特色的產品,當然,這些產品都遵循JDO規范,不會影響你寫的JDO應用的可移植性。下面列舉一下我對各個產品的印象:(參見第6節的參考文章:《JDO資源介紹》)
  
  教父:LiDO(法國LibeLis公司)
  我對JDO的熟悉主要是通過LiDO這個產品,它在2002年3月的一份圖文并茂的教程中簡要解說了JDO的使用和優點。這個教程可以在這里下載:http://www.objectweb.org/conference/JDO.pdf。LiDO的特色是大而全,支持文件型數據庫、RDBMS、ODBMS,甚至是xml數據庫。不過配置較麻煩。最新版本是2.0RC。
  霸主:KodoJDO(美國SolarMetrics公司)
  Kodo是JDO的中流砥柱之一,在JDO1.0還未最后通過的時候,它就是一個比較成熟的產品了,其特點是注重性能和穩定性,目前最新版本是2.5.0,是客戶最多的產品。
  最佳傳教士:JDOGenie(南非HemSphere公司)
  這是目前我最推薦的產品,最新版本是1.4.7,性能也不錯,穩定性還有待驗證,但它有一個最大的特點:集成性好,最易學,其公司的CTO David Tinker也是一個善解人意的年輕人,采納了很多網友的意見對產品進行改進,主要是在配置上非常方便,有一個專門的圖形界面工具,可以進行配置、數據庫生成、對象查詢等等很實用的功能。強烈推薦!
  大家閏秀:JRelay(德國ObjectIndustries公司)
  這也是一個出現得比較早的產品,也有一個GUI工具用于配置,曾幾何時,這個工具還是相對很方便的,但一年多過去了,好象沒什么進展,最新版本是2.0,我試過一段時間,后來就沒有再跟進了。
  兩面派:FrontierSuite for JDO (美國ObjectFrontier)
  這個產品與JRelay、Kodo一起,可算是早期的JDO三劍客,稱它為兩面派是因為它正向開發和反向開發都還可以。它的特色是反向工程(從表結構生成數據類)比較方便,與UML的結合也很強,不過真正運行起來的時候,配置復雜。當初該公司曾許諾我以10%的價格買一份,可惜我當時沒在意。假如上天再給我一次機會……
  免費午餐:TJDO(一群跨國界的有志之士)
  這是一個在Sun提供的參考產品(Reference Implementation)的基礎上加入一些擴展功能而形成的一個免費產品,目前最新版本是2.0beta3,不過進展也緩慢,這個版本已經出現好幾個月了沒有進一步的更新。
  
  
  以上這些是我用過的比較有代表性的產品,還有很多商業產品,以及其它一些或規范或不完全規范的免費JDO產品(如XORM、OJB等),這里不再一一列舉,有愛好的讀者可以到 http://www.jdocentral.com/ 去進一步了解。
  
  2. JDOGenie是哪路英雄
  前面已經提過,JDOGenie是南非的一個商業化產品,可別小看南非人,他們的收入可不少!當然技術也不錯。假如讀者做過UML的建模和設計,可能會知道Together Control Center這個產品,也就是最近被Borland收購的一個UML設計工具。JDOGenie的出品公司HemSphere就是Together的南非總代理和合作伙伴。
  
  說到這里,插句題外話,IBM收購了Rational,Borland收購了Together,Sun收購了DescribeUML,一場IDE+UML的大戰又將上演。
  
  好,書歸正傳,JDOGenie是我目前最推薦的產品,原因是易學易用,簡單上手,對于想學習JDO的朋友是最適合不過的了!它有一個圖形界面的配置工具,可在里面進行數據表映射、SQL操作、JDOQL查詢等等功能,非常方便。對采用JDOGenie的Web服務器也可以通過這個圖形工具進行監控,可以了解哪些查詢費時,哪些查詢執行次數多等等,有助于數據庫優化調節。
  
  俗話說,百聞不如一見,下面先給幾張圖片,過把癮先:
   
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线观看免费观看| 亚洲网站在线观看| 日韩精品www| 2018日韩中文字幕| 国产91露脸中文字幕在线| 中文精品99久久国产香蕉| 77777少妇光屁股久久一区| 精品国产乱码久久久久久天美| 色综合久综合久久综合久鬼88| 粗暴蹂躏中文一区二区三区| 国产免费一区二区三区香蕉精| 欧美精品www| 国产精品成人aaaaa网站| 久久成人av网站| 欧美性视频在线| 性日韩欧美在线视频| 在线观看日韩欧美| 国产成人涩涩涩视频在线观看| 国产自产女人91一区在线观看| 国产精品jizz在线观看麻豆| 国产精品久久色| 九九久久国产精品| 精品人伦一区二区三区蜜桃网站| 国产亚洲一区二区在线| 欧美视频一区二区三区…| 日韩av成人在线| 69av成年福利视频| 亚洲性夜色噜噜噜7777| 久热精品在线视频| 日韩av免费在线看| 欧美大片免费观看| 国产精品三级美女白浆呻吟| 日韩成人av在线播放| 一区二区日韩精品| 亚洲午夜国产成人av电影男同| 国产啪精品视频网站| 欧美极品少妇xxxxx| 亚洲国产精品999| 国产精品精品视频| 中文字幕日韩精品在线| 国产视频在线一区二区| 国产在线视频一区| 国产成人福利视频| 日韩一二三在线视频播| 欧美日韩综合视频网址| 美女视频久久黄| 欧美老女人www| 亚洲高清不卡av| 久久精品国产成人| 欧美性猛交xxxx免费看久久久| 亚洲国产精品资源| 国产欧美一区二区三区久久人妖| 国内精品久久久久久影视8| 亚洲精品欧美日韩专区| 国产精品九九久久久久久久| 97人人爽人人喊人人模波多| 久久国产精品久久国产精品| 丝袜亚洲另类欧美重口| 欧美激情精品久久久久久免费印度| 国产免费一区二区三区在线能观看| 国产在线观看精品| 亚洲一级片在线看| 一区二区三区四区视频| 国内伊人久久久久久网站视频| 亚洲成av人乱码色午夜| 国产精品免费看久久久香蕉| 久久久久久久国产精品视频| 日韩av中文字幕在线播放| 国产精品久久久久久久久| 国产精品中文久久久久久久| 黑人巨大精品欧美一区二区免费| 欧美视频一二三| 日本亚洲精品在线观看| 国产精品久久久久av免费| 欧美老女人xx| 亚洲精品中文字幕av| 精品久久久久久中文字幕| 欧美日韩国产999| 亚洲精品永久免费| 中文字幕国产亚洲2019| 欧美激情在线观看| 亚洲久久久久久久久久| 久久激情五月丁香伊人| 亚洲在线视频观看| 欧洲美女免费图片一区| 97国产精品人人爽人人做| 日本成人在线视频网址| 国产精品久久久精品| 97在线视频免费观看| 日韩免费电影在线观看| 国产成人综合精品| 亚洲热线99精品视频| 色婷婷成人综合| 亚洲国产精品va在线看黑人| 欧美黑人xxx| 欧美激情一区二区三区高清视频| 国产美女精品免费电影| 国产精品久在线观看| 国产亚洲精品一区二555| 日韩精品免费视频| 91免费电影网站| 日韩av免费网站| 欧美性猛交99久久久久99按摩| 日韩国产精品亚洲а∨天堂免| 欧美日韩亚洲国产一区| 国产黑人绿帽在线第一区| 国产精品视频永久免费播放| 国产精品视频地址| 国产精品美女午夜av| 45www国产精品网站| 国产精品午夜一区二区欲梦| 国产一区二中文字幕在线看| 国产精品欧美风情| 日韩av电影在线免费播放| 日韩av电影在线网| www日韩中文字幕在线看| 日本不卡视频在线播放| 伊人久久精品视频| 555www成人网| 亚洲激情视频网站| 全球成人中文在线| 欧美美女18p| 亚洲最新在线视频| 久热精品视频在线免费观看| 午夜精品久久久99热福利| 国产欧美精品在线| 日韩精品免费在线观看| 亚洲欧美中文日韩在线v日本| 色综合天天综合网国产成人网| 日韩va亚洲va欧洲va国产| 中文字幕亚洲第一| 最新91在线视频| 日韩第一页在线| 亚洲天堂第一页| 亚洲欧美国产日韩天堂区| 久久久成人精品| 国产精品成人aaaaa网站| 秋霞av国产精品一区| 亚洲黄色av女优在线观看| 国产亚洲人成a一在线v站| 亚洲精品在线视频| 一区二区三区国产在线观看| 精品国产精品三级精品av网址| 欧美精品18videos性欧美| 日本成人免费在线| 亚洲国产精品电影在线观看| 57pao国产成人免费| 亚洲美女av电影| 91黑丝高跟在线| 26uuu另类亚洲欧美日本老年| 成人www视频在线观看| 国产精品第1页| 久久福利网址导航| 亚洲图片欧洲图片av| 国产香蕉97碰碰久久人人| 成人激情视频在线观看| 久久99久国产精品黄毛片入口| 久久精品99久久香蕉国产色戒| 激情久久av一区av二区av三区| 亚洲国产高潮在线观看| 日韩欧美精品免费在线| y97精品国产97久久久久久| 欧美国产亚洲精品久久久8v| 日韩一区二区欧美|