隨筆-10  評論-11  文章-20  trackbacks-0

          原文地址:http://hi.baidu.com/gg7663/blog/item/f7bfb70f74a5c1f536d122b9.html

          開發項目涉及到的表太多,一個一個的寫JAVA實體類很是費事。MyEclipse提供簡便的方法:反向數據庫 

          ***選擇表反向的時候一次全選上,省的后面配那個發現關聯表選項

          步驟大致如下: 
          第一步: 
          window-->open Perspective-->MyEclipse Java Persistence 
          操作后會出現一個視圖DB Brower:MyEclipse Derby 

          在空白區點擊右鍵,新建一個數據庫對象。我用的是mysql,其實我一直想用oracle之類的,只是機子內存小,又懶得倒騰別的,結果截個圖吧:

          左邊的屬性按照自己使用的數據庫填就行了,左邊部分是我建好以后的結果,數據庫名叫shop,有個user表 是專門這次測試用的




          第二步: 
          新建一個WEB項目 
          然后選中項目右鍵-->MyEclipse-->add Hibernate Capabilities 

          如果需要用到在實體類上添加注釋的話那么選中緊挨著的add Hibernate Annotations Support(據說現在都用annotations了就選上吧?。。?/span>

          然后下一步選中一個目錄存放自動生成hibernate.cfg.xml文件,一般毫無例外的放在src根目錄下,下一步選中一個DB Driver中我們第一步建立的那個(對我來說是com.mysql....反正就是自己建的那個唄),然后下一步選中一個目錄存放自動生成的HibernateSessionFactory工具類 ,結果出來以后我看了一下,這個hibernateSessionFactory工具類就是一個拿Session的單例,還有一些其它關閉session之類的方法,一看便知。下圖是生成的配置文件:



          第三步反向生成實體類 

          到DB Brower中找到要反向的表選中并且點擊右鍵--->Hibernate Reverse Enginnering

           

          看選項:java src folder 源碼包,不用多解釋,java package——存放將要反轉出來的實體類,選擇目錄(應該是提前建好的com.xxx.model之類的包);Create pojo<>db。。。這個選項選中,就是我們建立從表到簡單java 對象(即pojo)的配置,把下面的add hibernate mapping annotations to pojo的選上,其它不管,這個選項用來“添加映射注解到pojo對象上”,它上面的那個選項用來創建xml的,據說不太用了,就用annotation吧!


          這樣應該就夠了,下一步

          看圖:type Mapping要選上hibernatetypes,這樣這些注解都是來自 javax.persistence.*了 (剛觀察過!)

          id generator 看下拉列表就知道是配置id生成策略的

          那兩個enable 是說映射關系發現(detection),明白了吧?英文好就是沾光,不用像我一樣還得查字典了。


          下一步:沒啥理解不了的 動手點點就知道了



          直接完成,發現代碼很漂亮,注釋很完美,而且肯定沒有錯誤,幾分鐘都能搞定數十個表,不得不感嘆myeclipse,真是個大金礦。

          posted on 2011-03-22 12:52 Soap MacTavish 閱讀(1332) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 新田县| 云和县| 阿巴嘎旗| 威信县| 景谷| 屏南县| 大庆市| 九龙坡区| 新建县| 汉寿县| 汉源县| 丰镇市| 青岛市| 进贤县| 东丰县| 广灵县| 教育| 宁蒗| 吴旗县| 星子县| 克山县| 禄劝| 宁都县| 离岛区| 沙坪坝区| 商河县| 玛曲县| 含山县| 和硕县| 舞钢市| 黔南| 霞浦县| 广州市| 武川县| 昭平县| 汽车| 托克托县| 平阳县| 竹溪县| 嘉禾县| 新密市|