工欲善其事,必先利其器。我们可以使用IDE来根据数据库中的表反向生成实体类和映射文件,虽然这些东西手写也并不是难度很大,但是如果存在大量的简单工作需要我们做,也会显得很麻烦。

写在前面

我们反向生成的一个前提就是需要先存在数据库,所以我们需要先将数据库创建好

MyEclipse篇

不得不说MyEclipse真的是JavaEE开发的首选,使用MyEclipse简直不要太方便,它内置了许多我们需要的插件,不需要我们再安装了。

创建MyEclipse和数据库连接

现将Myeclipse的Database Explorer视图打开

我们需要现将Myeclipse与我们的数据库建立连接,右键new一个连接吧

填写四大参数和我们的驱动的位置

添加HIbernate的支持

这种方式只能添加MyEclipse自带的支持,我们想用自己的Hibernate也可以,就是不用进行这一步了。需要自己手工编写Hibernate配置文件和sessionFactory。

final完成即可。数据库算是建立了连接,接下来我们需要在项目中建立两个包,用来存放SessionFactory和实体bean,与spring整合之后就不用这个SessionFactory了,但这里我们先不用spring

在项目右键选择MyEclipse->project facets->install Hibernate Facet

选择一个MyEclipse自带的Hibernate版本,只能选择自带的?

Next ,选择hibernate.cfg.cml文件和SessionFactory所在包

Next,选择我们刚刚创建的连接

final,完成我们的hibernate主配置文件和sessionFactory的创建,并加入Hibernate的jar包

对于自动生成的东西,我们还是要记得检查一下,不要少什么东西,比如我的connection.url就有点不对,没有指点具体的数据库

重头戏在这里,反向生成实体类和xx.hbm.xml文件

再次切换到Database Explorer视图,在我们的连接下选择一个数据库中需要反向生成实体类的table

填写一些信息,比如说JavaBean要生成的位置

还可以设置生成的实体类名和主键生成策略

final,来我们的项目中看看吧,Dept实体类和Dept.hbm.xml文件就生成了

最后,我还是要说,对于自动生成的东西也需要简单浏览一下,不要少什么或有什么错误

Eclipse篇

安装插件

MyEclipse很强大很好用,但是我们都知道MyEclipse是一款收费的产品。我们的Eclipse也可以完成反向生成工作,但需要我们先下载一个JBoss Tools插件,我们有找到离线版本,Hibernate官网也推荐使用Eclipse在线下载,我就是在线下载的

选择其中的HIbernate Tools即可,也可以在Eclipse Marketplaces中查询安装

安装过后,就开始我们反向工作吧

建立数据库连接

Eclipse也是需要先建立数据库的连接的,进入到DateBase Development->new connection profile

填写配置信息和加载数据库驱动jar

反向生成代码

切换到Hibernate视图,add Configuration 我们刚创建的连接

接下来打开Hibernate Code Generation

这个工具在我们的工具条上就出现了。接下来我们在项目中建立一个包来存放实体类和*.hbm.xml文件

新建一个Configuration

配置一下项目的src和实体类所在的包

Run,我们的项目中就自动生成实体类和*.hbm.xml文件了

注意:Eclipse并不会自动为我们加入jar包,所以我们需要手工加入Hibernate的jar和数据库驱动jar。而且Eclipse也没有为我们生成SessionFactory,这都需要我们手工完成。

写在最后,一定要检查自动生成的东西,一定要检查自动生成的东西,一定要检查自动生成的东西,重要的事情说三遍

最新文章

  1. WebBench源码分析与心得
  2. Java虚拟机8:虚拟机性能监控与故障处理工具
  3. python实现支持并发、断点续传的Ftp程序
  4. Floyd-Warshall算法
  5. Microsoft Visual Studio 正忙
  6. C语言中char* 和 char []区别
  7. CI框架篇之辅助函数篇--基本(1)
  8. java的List分页 取出数据后使用List分页
  9. WinForm中AssemblyInfo.cs文件参数具体讲解
  10. 机器学习03:K近邻算法
  11. SSLv3存在严重设计缺陷漏洞(CVE-2014-3566)
  12. 将EF项目从dbfirst转化为codefirst
  13. MySQL对数据表进行分组查询
  14. 【jsp】配置错误页面
  15. 使用Travis进行持续集成
  16. es6(const、let)
  17. go语言基础之函数有多个返回值
  18. ionic3 cordova 调取软键盘
  19. iOS获取当前设备方向
  20. css常用知识点——思维导图

热门文章

  1. 移动设备web开发插件iScroll的使用详解
  2. Mac怎么安装Windows10
  3. windows下类似Linux下的grep命令
  4. Jquery如何获取ASP.NET服务器控件的值
  5. HAWQ + MADlib 玩转数据挖掘之(一)——安装
  6. objc/runtime.h 相关
  7. HTTP 1.1 协议规范
  8. matlab GUI重新命名
  9. jquery动态增加或删除tr和td【实际项目】
  10. VC++ 获取鼠标状态,获取鼠标弹起消息