使用eclipse逆向工程開發hibernate項目


在項目設計時,要么根據需求分析建立實體類,然后正向生成數據庫表;要么先進行數據庫表設計,然后逆向生成實體類。也就是說,不會完成一方的設計后再花時間去匹配建立另一方,這么做的原因是:

1、如果不使用正向或逆向工程,則會是1.5倍的工作量,浪費時間

2、無法保證兩邊的映射一致。因為兩邊都是自己設計的,就需要人為地保證映射關系的統一,這樣會留下隱患

3、開發、維護上都不利,因為如果任意一方由於某些原因需要修改,那么經常兩邊都要修改,這樣的話映射不一致的可能性不僅會更大,而且效率地下

在eclipse中連接數據庫

雖然eclipse自帶了數據庫管理器(Data Management),但這里我使用的是插件DBViewer,將該插件下載后放到plugins目錄下,重啟eclipse,點擊Window-Show View-Other-DBViewer Plugin-DB Tree View,如下:

右鍵DBViewerPlugin-Add,如下:

在"DataBase Define Name"中為要連接的數據庫取一個名字,點擊JDBC Driver下的Add File選項添加連接數據庫的jar包,點擊Next,如下:

填寫好數據庫配置信息,點擊Test connection測試是否連接上數據庫,如下:

點擊Finish即完成數據庫連接,如下:

下載並安裝hibernate tools插件

選擇Help-Eclipse Marketplace,在搜索框中輸入JBoss Tools,點擊JBoss Tools 4.1.2 Fianl中的Install選項,如下:

這里我們只需要Hibernate Tools,因此只用勾選此選項,點擊Confirm,如下:

安裝過程中會彈出兩個提示框,一個是提示證書安全,另一個是提示要重啟eclipse,我們都點擊確定即可。

開發hibernate項目

1.自動生成hibernate.cfg.xml文件

首先創建一個java項目,並導入hibernate包(可以新建一個lib文件夾,將hibernate必須的jar包以及數據庫連接的jar包放置到該文件夾下,然后右鍵-Add To Build Path)。

右鍵項目-New-other,新建一個hibernate.cfg.xml文件,如下:

由於我們前面已經在eclipse中連接了數據庫,因此配置hibernate.cfg.xml文件時,可以點擊"Get values from Connection"來讀取前面配置的數據庫連接信息,如下:

之后選擇數據庫方言(Database dialect),點擊Finish即可。在src目錄下會看到自動生成的hibernate.cfg.xml文件,如下:

2.添加hibernate控制台配置

右鍵項目-New-other,搜索hibernate,選擇Hibernate Console Configuration,點擊Next,如下:

在Name中指定該hibernate console configuration的名稱,在Project中選擇項目,在Database Connection中選擇前面配置的數據庫連接,在Configuration file中選擇前面自動生成的hibernate.cfg.xml文件,點擊Finish,如下:

3.自動生成hibernate.reveng.xml文件

右鍵項目-New-other,搜索hibernate,選擇Hibernate Reverse Engineering File,點擊Next,如下:

在Console configuration中選擇上一步配置的名字(即hibernate console configuration中輸入的Name),點擊Refresh刷新出前面連接的數據庫中的全部Schema,點擊Include會將指定的數據庫或表添加到Table filters中,這里我們不過濾任何表,如下:

點擊Finish,在項目下會有一個hibernate.reveng.xml文件,打開該文件,點擊Table&Columns標簽頁,點擊Add,選擇剛才配置的hibernate console configuration的名稱,點擊OK,選擇要映射的表,如下:

4.自動生成*.hbm.xml文件

點擊Run-Hibernate Code Generation-Hibernate Code Genration Configurations,如下:

Main標簽頁中,在Console configuration中選擇前面的hibernate console configuration中配置的名稱,在Output directory中選擇自動生成的domain類放置的位置,這里我們需要事先在src目錄下建一個包(com.kevin.domain)用來存放domain類,勾選Reverse engineer from JDBC Connection,在reveng.xml中選擇剛才自動生成的hibernate.reveng.xml文件,如下:

Exporters標簽頁中,勾選Domain code(.java)和Hibernate XML Mappings(.hbm.xml),如下:

點擊Run,在指定目錄下就可以看到自動生成的domain類和*.hbm.xml文件了,如下:

注:

1、有錯誤是因為domain類中沒有指定包位置,打開Employee.java文件,添加包位置即可(如package com.kevin.domain;)

2、由於此時沒有自動更新hibernate.cfg.xml文件,因此我們需要手動在其中添加需要管理的對象關系映射文件,如下:

3、打開Employee.hbm.xml文件,會發現其中沒有指定要映射的domain類的位置,因此我們需要手動加上,即package="com.kevin.domain",如下:

4、Employee.hbm.xml文件中的type屬性值可以是java類型的(比如java.lang.String),也可以是hibernate類型的(比如string),一般使用java類型。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM