工欲善其事,必先利其器。我们可以使用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,这都需要我们手工完成。

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

反向生成hibernate实体类和映射文件的更多相关文章

  1. Eclipse从数据库逆向生成Hibernate实体类和映射文件(Eclipse插件系列之HibernateTools)

    ♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣ ...

  2. MyEclipse 从数据库反向生成Hibernate实体类

    第一个大步骤 window-->open Perspective-->MyEclipse Java Persistence 进行了上面的 操作后会出现一个视图DB Brower:MyEcl ...

  3. Intellij Idea反向生成Hibernate实体类

    每次根据数据库的表反向生成实体类老不记得步骤...脑子不够用,这里特意记录一下.碰到的问题也及时更新到这里来. 1. 工程添加Hibernate支持 两种方式: 第一种:工程上右键选择 "A ...

  4. IDEA 自动生成Hibernate实体类和Mapping文件

    一.新建工程Demo(如果选的时候勾选了hibernate,IDEA会自动下载Hibernate包,不需要手动导入) 二.导入相关包 Mysql && Hibernate 三.添加Hi ...

  5. SQLserver数据库反编译生成Hibernate实体类和映射文件

    一.建立项目和sqlserver数据库 eclipse,我使用的版本是neon3 二.Data Source Explorer 选择OK 在data source Explorer的Database ...

  6. (转) Eclipse通过HibernateTools实现逆向生成Hibernate实体类

    背景:工作中使用Hibernate进行持久化的开发工作,所以有必要详细了解这方面的知识. ps:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在 ...

  7. eclipse从数据库逆向生成Hibernate实体类

    做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...

  8. [转]eclipse借助hibernate tool从数据库逆向生成Hibernate实体类

    如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle, ...

  9. Eclipse使用hibernate插件反向生成实体类和映射文件

    一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向 ...

随机推荐

  1. js 删除数组的指定元素

    //为数组对象增加相应的的方法,直接调用数组的removeByValue方法即可删除指定元素 Array.prototype.removeByValue = function (val) { for ...

  2. node中的一些诡异bug

    这种bug一般是监听的端口号被占用了导致的,换个端口号!!!!

  3. 两个init方法的区别

    容器创建了Servlet实例后,它将调用实例的init(ServletConfig)方法初始化Servlet.该方法的参数ServletConfig对象包含了在WEB应用程序的部署描述文件中指定的初始 ...

  4. Python中基本的读文件和简单数据处理

    Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...

  5. python文件写中的f.flush()方法

    f = open("input.txt", "w") f.write("aaaaaa") f.flush() #强行把缓冲区中的内容放到磁盘 ...

  6. matlab下kmeans及pam算法对球型数据分类练习

    clear all; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %数据初始化 D ...

  7. BZOJ3529 [Sdoi2014]数表【莫比乌斯反演】

    Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...

  8. BZOJ1002 FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】

    BZOJ1002 FJOI2007 轮状病毒 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原 ...

  9. 《DSP using MATLAB》示例 Example 9.6

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  10. Appium+python (3) 异常处理

    有时候定位时会发现无法定位到具体的元素,右侧元素定位处只告诉你这是一个网页视图: 点击里面的具体元素是无法选中的,船长的做法是回到App里点一下元素,再返回要定位的页面,重新点一下Device Scr ...