Hibernate5.2之反向工程

一.描述

  可能很多人在使用Hibernate进行项目开发的时候,都会有一种感觉,那就是在编写Java的POJO类和对应的hbm文件的时候,感觉做着很无聊的工作。对于Hibernate官方来说,他们可能也有着同样的想法,于是就提供了相应的代码生成工具,开发人员在编写代码的时候可以直接使用Hibernate官方所提供的工具生成这些文件,笔者在本篇博文中将采用图文并茂的方式为开发人员呈现如何使用Hibernate来实现反向工程。

  因为Hibernate的反向工程在生成代码的时候是借用第三方的工具,对工具的版本选择有着很严格的要求,请读者在阅读本博文的时候参照笔者所提供的IDE和Hibernate工具。笔者所采用的IDE为Spring Tool Suite(简称STS),这款IDE使用的是Eclipse的内核,因此在使用上和Eclipse工具雷同。

二.Hibernate反向工程

2.1下载Hibernate Tool

  查看STS的版本:Help-->About Spring Tool Suite,会出现如下图所示关于IDE的描述信息(笔者STS的版本为4.5.2)

    

  对应的Hibernate Tool(现已更名为Jboss Tool)的下载地址为:http://tools.jboss.org/downloads/overview.html,如下图所示

  

2.2 Hibernate Tool安装

  在IDE中按照 Help-->Install New Software... 会弹出如下对话框

  

  点击"Add",会弹出一个对话框,如下图

  

  在弹出的对话框中点击"Archive", 选择下载好的Hibernate Tool工具, 如下图

  

  上图中点击"打开(O)",然后再点击"OK"

  

  在所有出现的工具包中,只选择"JBoss Data Services Development"下的"Hibernate Tools",如下图

  

  点击"Next",出现如下图所示的对话框

  

  点击"Next",出现如下对话框

  

  选择"l accept the terms of the license aggrement",然后点击"Finish",开始安装,如下图

   

  请等待...,安装成功后会弹出如下对话框

  

  出现上图,表示你的Hibernate Tool已经安装成功,点击"Yes"重启STS即可。

2.3 Hibernate主要信息配置

  读者需要创建一个Java工程,例如笔者的工程名为hibernate,然后引入所需的jar包,在此笔者不做赘述。

  打开Hibernate的视图:Window-->Perspective-->Open Perspective-->Other-->Hibernate,如下图

  

  点击"OK",打开Hibernate工作视图,如下图所示

  

  在空白位置点击鼠标反键,然后选择"Add Configuration",会弹出一个对话框,如下图

  

  在对话框中,点击"Browser",选择要对哪个项目生产反向工程,如下图

  

  例如,笔者选择的工程为之前创建的hibernate工程,然后点击"OK"

  

  点击"New",创建数据库连接,笔者所使用的数据库为Oracle, 名字可以随意命名,然后点击"Next",会出现如下图所示的对话框

  

  创建驱动,点击"Divers"后面的"+",会弹出如下对话框

  

  在"Name/Type"页签,选择数据库的版本,笔者所使用的Oracle数据库的版本为11g,"Driver name"可以随意取名

  

  在"JAR List"页签,将内置的Oracle驱动删除,然后点击"Add JAR/Zip",在弹出对话框中选择oracle的驱动包,如下图所示

  

  点击"打开"

  

  点击"OK",会出现如下对话框

  

  在上图的页面中填写数据库连接的相关信息,然后点击"Test Connection",如果出现如下对话框,表示数据库连接成功

  

  点击"OK"

  

  点击"Finish",在配置编辑页面点击"Configuration File"后的"Setup"按钮

  

  在弹出的对话框中,点击"Create new"按钮,会出现如下界面

  

  选择hibernate.cfg.xml文件生成的位置,选择"src"目录下; "File name"保持默认,然后点击"Next",出现如下对话框

  

  在上述页面中填写连接数据库相关的信息,然后点击"Finish"

  

  点击"OK",至此Hibernate的核心配置已经完成,生成的核心文件如下如所示

   

2.4 反向工程

  在STS的主界面,点击如下图所示的按钮

   

  选择"Hibernate Code Generation Configurations",出现如下对话框

  

  在"Hibernate Code Generation"上点击反键,选择"New",在右侧会出现"Main"、"Exporters"、"Refresh"、"Common"四个页签

  

  在"Main"页签的"Console configuration"右边选择工程,例如笔者所建的工程为"hibernate"

  

  然后点击"Output dirctory"后面的"Browser"按钮,会弹出一个对话框,如下图

  

  选择Java文件和hbm文件生成的位置,请选择到"src"目录下,然后点击"OK"

  

  将"Reverse engineer from JDBC Connection"前面勾上;"Package"填写想要生成的Java代码的包名

  

  点击"Reveng.xml"后面的"Setup",在弹出的对话框中选择"Create new...",会弹出如下对话框

  

  选择反向工程配置文件的输出目录,请选择src,然后点击"Next>",进入到如下图所示的界面

  

  点击"Refresh",会出将默认的数据库表在左侧的框中列出来,如下图

  

  选择要使用哪些表做反向工程,笔者选择的是Oracle中的Scott用户下的两张经典表"EMP"和"DEPT",然后点击"Finish"

  

  在"Exporters"页签,勾选"Domain code(.java)"和"Hibernate XML Mapping(.hbm.xml)",然后点击"Run"。然后回到工程中,如下图

  

  请观察目录结构,此时已经自动的生成对应的Java文件和hbm文件。

Hibernate5.2之反向工程的更多相关文章

  1. hibernate5.2需要的最少jar文件

    hibernate5.2需要的最少jar文件: required文件夹中的所有jar文件 + mysql-connector-java-bin.jar.

  2. SSH(Struts2+Spring4+HIbernate5)的简化

    今天给大家带来的是一个简单的新闻发布系统 首先在学习过程中我是深有体会,做事情不要浮躁,不要想着一口吃下一个胖子, 最最重要的是理解,理解透了学什么东西都是随心所欲的. 开发环境:win10系统 jd ...

  3. PowerDesigner15在win7-64位系统下对MySQL 进行反向工程以及建立物理模型产生SQL语句步骤图文傻瓜式详解

    1.安装PowerDesigner15.MySQL5.不详细讲解了.网上一大把.请各位亲参考去. 2.安MyODBC-standard-3.51.0.7-win.msi.mysql-connector ...

  4. 关于Hibernate5.x的那点事

    1.如果采用程序建表: 4.x版本: Configuration cfg = new Configuration().configure(); SchemaExport se = new Schema ...

  5. Hibernate反向工程生成DAO

    通过Hibernate反向工程生成个DAO: package dao; import java.util.List; import org.hibernate.LockMode; import org ...

  6. Hibernate5.2之QBC查询

                                                         Hibernate5.2值QBC查询 一.简介  Hibenate的QBC查询个人认为是Hib ...

  7. Hibernate5.2之多对多关联关系(六)

    Hibernate5.2之多对多关联关系(六) 一.简介 Hibernate中多对多关联关系在工程中使用的频率也是非常高的,例如:大学中学生选课.用户订单等.在本博客中笔者一样通过实例代码为读者阐述H ...

  8. Hibernate5.2之一对一外键关联(五)

                                                     Hibernate5.2之一对一外键关联(五) 一.简介 上篇文章中笔者介绍了Hibernate关联关 ...

  9. Hibernate5.2之一对一主键关联(四)

                                                      Hibernate5.2之一对一主键关联(四) 一.简介 一对一关联关系分为两种:a.主键关联:b. ...

随机推荐

  1. Configure the Windows Firewall to Allow SQL Server Access

    参考微软链接: https://msdn.microsoft.com/zh-tw/library/cc646023.aspx

  2. 解决表单(搜索框)回车的时候直接提交了表单不运行js的问题

    我想在搜索输入框中输入关键词后回车,先运行一段js,然后在提交表单,而默认情况下回车的时候也会出发表单的提交所有没法等js运行完成,故利用 onkeydown="if(event.keyCo ...

  3. Hadoop是什么?一句话理解

    Hadoop(MapReduce&HDFS) 1.学习目的(前言) 在从业了六年IT生涯里,做个实施顾问.业务顾问.BA需求分析师.项目经理,现在重新定位自己,在新公司做起了开发顾问,虽然经历 ...

  4. jQuery学习总结

    1:jQuery是什么 jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库,兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, O ...

  5. Mac安装windows虚拟机攻略

    5月初从阿里滚粗,然后失去了公司发的Mac Air.说实话Mac机器确实比windows好用一些,于是怒而买了一个Mac Pro. 结果一个星期后我从学校带出来的联想笔记本又被老师通知要进行固定资产盘 ...

  6. nginx 基本操作

    nginx 是什么 nginx 是轻量.高性能的网页服务器,相较 Apache 占有内存小. 下载 https://nginx.org/en/download.html 默认根目录 安装目录下的 ht ...

  7. SQL---Chapter01 数据库和SQL

    数据库类型: 层次数据库(Hierarchical Database, HDB) 数据通过层次结构(树形结构)的方式表示出来. 关系型数据库(Relational Database, RDB) 使用专 ...

  8. Android倒计时:计算两个时间将得到的时间差转化为倒计时(xx时xx分xx秒格式)

    首先是一个自定义控件: public class RushBuyCountDownTimerView extends LinearLayout { // 小时,十位 private TextView ...

  9. 关于URI URL URN

    刚琢磨.整理了关于escape.encodeURIComponent.encodeURI的知识.突然又对URI有点模糊了,遂整理了以下资源 : 资源一: URL,URI 和URN 的举例理解 资源二: ...

  10. Android下载更新代码

    其实是昨天反编译一个apk,给它添加一个自动更新的功能用到的.为了在smali下方便查看,代码写的不规范,反正到了smali都一个吊样~~~~ 权限: <uses-permission andr ...