eclipse 配置hibernate自動生成工具

fightingiow發表於2016-05-26

Hibernate Tools Eclipse 外掛安裝

Hibernate Tools 簡介:

    Hibernate Tools是由JBoss推出的一個Eclipse綜合開發工具外掛,該外掛可以簡化ORM框架Hibernate,以及JBoss Seam,EJB3等的開發工作。Hibernate Tools可以以Ant Task以及Eclipse外掛的形式執行。

 

Mapping Editor(對映檔案編輯器):該編輯器可以用來編輯Hibernate XML對映檔案,提供程式碼自動補全,語法高亮功能。 
     - 類名的自動補全 
     - 屬性/表的列名自動補全 
Hibernate Console(Hibernate控制檯):它提供一個全新的Eclipse Perspective視窗,可以執行HQL,並檢視查詢的結果。這是一個非常便利的工具,可以用來驗證HQL的語法是否正確。 
Configuration Wizards and Code generation(Hibernate配置檔案hibernate.cfg.xml建立導航,以及程式碼生成器):支 持完全反向生成功能,可以從已有的資料庫生成Hibernate配置檔案hibernate.cfg.xml,同時支援"click-and- generate"方式生成Java程式碼(Hibernate POJOs),DAO,XML對映檔案(.hbm.xml),以及schema 文件(.hml)等檔案。 
Eclipse JDT integration(程式碼補全):該工具支援Java程式碼中的HQL輸入補全,以及對Java程式碼中的HQL語法加以合法性驗證。

 
下面是Hibernate Tools的相關使用及配置:

1.到Hibernate的官網上下載 
HibernateTools-3.2.4.GA-R200905070146-H18.zip 

2.解壓下載的檔案,可以得到兩個資料夾features和plugins,把這兩個資料夾裡邊的東西分別考貝到Eclipse的features和plugins下。 

3.驗證一下是不是安裝好了。選擇工程下的SRC目錄,然後右鍵New->Other->Hibernate 
看到以下內容就說明安裝成功了

 

 

 4.現在我們可以選擇其中的某一項來使用了。先建一個hibernate.cfg.xml吧。如圖:

 

自動建立的檔案內容如下:

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5. <hibernate-configuration>  
  6.     <session-factory>  
  7.         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
  8.         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>  
  9.         <property name="hibernate.connection.username">root</property>  
  10.         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
  11.     </session-factory>  
  12. </hibernate-configuration>  

  在這個基礎上,我們可以自行新增我們需要的property和mapping。

下面是一個相對比較完整的版本:

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.   
  6. <hibernate-configuration>  
  7.   
  8.     <session-factory>  
  9.         <!--  Database Connection Settings -->  
  10.         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
  11.         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/UniversityDatabase</property>  
  12.         <property name="hibernate.connection.username">root</property>  
  13.         <property name="hibernate.connection.password"></property>  
  14.         <property name="hibernate.default_schema">UniversityDatabase</property>  
  15.         <!-- SQL dialect -->  
  16.         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
  17.   
  18.         <!-- JDBC connection pool (use the built-in) -->  
  19.         <property name="connection.pool_size">1</property>  
  20.   
  21.         <!-- Enable Hibernate's automatic session context management -->  
  22.         <property name="current_session_context_class">thread</property>  
  23.   
  24.         <!-- Disable the second-level cache  -->  
  25.         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>  
  26.   
  27.         <!-- Echo all executed SQL to stdout -->  
  28.         <property name="show_sql">true</property>  
  29.   
  30.   
  31.         <mapping resource="User.hbm.xml" />  
  32.         <mapping resource="Course.hbm.xml" />  
  33.         <mapping resource="Employee.hbm.xml" />  
  34.   
  35.     </session-factory>  
  36.   
  37. </hibernate-configuration>  

 5.建一個Hibernate Console Configuration,這裡需要給Configuration起個名字,Project專案中選擇當前工程,然後Datasbase Connection選擇連線的資料庫,單擊OK。如圖:

 

 

如果成功的話,會在Hibernate的控制檯看到資料庫中的Table列表,如圖:

 

6.新建hibernate.reveng.xml

new->others->hibernate->Hibernate Reverse Engineering File到了以下畫面:選擇console configuration,點選refresh,選中需要Reverse的Table,點選include。最後finish就好了。

 

生成的XML如下:

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >  
  3.   
  4. <hibernate-reverse-engineering>  
  5.   <table-filter match-catalog="UniversityDatabase" match-name="admin"/>  
  6.   <table-filter match-catalog="UniversityDatabase" match-name="course"/>  
  7.   <table-filter match-catalog="UniversityDatabase" match-name="department"/>  
  8.   <table-filter match-catalog="UniversityDatabase" match-name="employee"/>  
  9.   <table-filter match-catalog="UniversityDatabase" match-name="employeeaddresses"/>  
  10.   <table-filter match-catalog="UniversityDatabase" match-name="employeecertification"/>  
  11.   <table-filter match-catalog="UniversityDatabase" match-name="employeeeducations"/>  
  12.   <table-filter match-catalog="UniversityDatabase" match-name="employeehours"/>  
  13.   <table-filter match-catalog="UniversityDatabase" match-name="employeememo"/>  
  14.   <table-filter match-catalog="UniversityDatabase" match-name="externalcourse"/>  
  15.   <table-filter match-catalog="UniversityDatabase" match-name="internalcourse"/>  
  16.   <table-filter match-catalog="UniversityDatabase" match-name="person"/>  
  17.   <table-filter match-catalog="UniversityDatabase" match-name="project"/>  
  18.   <table-filter match-catalog="UniversityDatabase" match-name="resourceassignment"/>  
  19.   <table-filter match-catalog="UniversityDatabase" match-name="student"/>  
  20.   <table-filter match-catalog="UniversityDatabase" match-name="user"/>  
  21.   <table-filter match-catalog="UniversityDatabase" match-name="usercourses"/>  
  22. </hibernate-reverse-engineering>  


相關文章