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 version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- </session-factory>
- </hibernate-configuration>
在這個基礎上,我們可以自行添加我們需要的property和mapping。
下面是一個相對比較完整的版本:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <!-- Database Connection Settings -->
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/UniversityDatabase</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password"></property>
- <property name="hibernate.default_schema">UniversityDatabase</property>
- <!-- SQL dialect -->
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <!-- JDBC connection pool (use the built-in) -->
- <property name="connection.pool_size">1</property>
- <!-- Enable Hibernate's automatic session context management -->
- <property name="current_session_context_class">thread</property>
- <!-- Disable the second-level cache -->
- <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
- <!-- Echo all executed SQL to stdout -->
- <property name="show_sql">true</property>
- <mapping resource="User.hbm.xml" />
- <mapping resource="Course.hbm.xml" />
- <mapping resource="Employee.hbm.xml" />
- </session-factory>
- </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 version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
- <hibernate-reverse-engineering>
- <table-filter match-catalog="UniversityDatabase" match-name="admin"/>
- <table-filter match-catalog="UniversityDatabase" match-name="course"/>
- <table-filter match-catalog="UniversityDatabase" match-name="department"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employee"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employeeaddresses"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employeecertification"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employeeeducations"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employeehours"/>
- <table-filter match-catalog="UniversityDatabase" match-name="employeememo"/>
- <table-filter match-catalog="UniversityDatabase" match-name="externalcourse"/>
- <table-filter match-catalog="UniversityDatabase" match-name="internalcourse"/>
- <table-filter match-catalog="UniversityDatabase" match-name="person"/>
- <table-filter match-catalog="UniversityDatabase" match-name="project"/>
- <table-filter match-catalog="UniversityDatabase" match-name="resourceassignment"/>
- <table-filter match-catalog="UniversityDatabase" match-name="student"/>
- <table-filter match-catalog="UniversityDatabase" match-name="user"/>
- <table-filter match-catalog="UniversityDatabase" match-name="usercourses"/>
- </hibernate-reverse-engineering>
posted on 2012-03-18 13:23 gdufo 閱讀(10604) 評論(0) 編輯 收藏 所屬分類: Hibernate