如何使用myeclipse反向生成实体类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用myeclipse反向生成实体类相关的知识,希望对你有一定的参考价值。

1         创建Web项目

1.1     MyEclipse中创建Java Web项目工程。项目工程名自己定,J2EE Specification Level选择Java EE 5.0

2  添加项目的Hibernate支持

  2.1  点击MyEclipse右上角的透视图切换扭,打开透视图切换窗。

选择MyEclipseHibernate透视图。

2.2  在MyEclipse Hibernate 透视图右侧的DB Browser窗口中点击右键选择New…新建,创建一个数据库连接。弹出DataBase Driver的对话框

2.3 DataBaseDriver对话框中依次选择:

Driver Template ——数据连接的类型

Driver Name ——连接的名称(自己定)

Connection URL ——数据库连接字符串

User name —— 数据库连接用户名

Password —— 数据库连接密码

 

然后在Driver JARs中添加数据库的驱动jar文件。

点击“Test Driver”按钮测试连接是否正常。

选中Save Password可以保存密码。

设置全部正确后,点“Finish”按钮。数据库连接创建成功后可以在右侧DB Broswer窗口中看见新建的连接。

2.4  连接创建成功后切换回MyEclipse Java Enterprise透视图

在刚刚创建的项目工程上点击右键,选择MyEclipse->Add Hibernate Capabilities...给项目工程添加Hibernate支持。

2.5  给项目工程添加Hibernate支持是通过向导的方式一步步完成的。

第一步,选择Hibernate版本。使用默认项,直接点Next

第二步,Hibernate的配置文件。新项目MyEclipse会帮助创建一个,直接Next

第三步,配置Hibernate的数据库连接。在DB Driver列表中选择刚刚创建的数据库连接。

第四步,生成Hibernate的辅助工具类HibernateSessionFactory。由于后期使用Spring框架来提供Hibernate访问支持,所以这个类在这个阶段可以创建,也可以不建。但如果创建的话,最好把它保存到自定义的util子包中。

好了!项目工程中Hibernate的支持就做好了。MyEclipse会在操作完成后自动打开hibernate.cfg.xml文件,可以用可视化的方式配置hibernate的相关设置。


2.6为项目工程添加如下这些包

2.7切换回MyEclipse Hibernate透视图。

在右侧DB Browser窗口中双击刚刚创建的数据库连接项,打开连接。成功和数据库建立连接后,找到我们在数据库连接时用户名所对应的节点,然后打开TABLE就可以看见事先创建好的数据库表了。

2.8通常情况是,在DB Browser窗口的已打开连接节点中选中用户创建的所有的表。然后点右键,选择Hibernate ReverseEngineering…,使用Hibernate反向工程。通过反向工程来帮助我们生产出和数据库表结构对应的Hibernate实体类和实体类映射文件(hbm.xml文件)。

2.9   反向工程也是需要几个步骤

第一步就是配置数据表到实体类之间的映射。

Java src folder ——指定把反向工程生成的文件放入到那个项目中(这里要指向到src文件夹才可以)

Java package ——实体类和映射文件存放到哪个包当中。(这里通常是项目中的entity包里)

Create POJO<>DB Table mapping information —— 是否生成对应的映射文件(*.hbm.xml文件)

Add Hibernate Mapping Annotations to POJO ——  使用注解配置实体类(注意!上述两者中选择一种即可,要么是实体类+.hbm.xml,实体类+注解)

Java Data Object (POJO <> DB Table) —— 是否生成实体类文件(注意!下面的Createabstract class不要选!因为实体类不需要抽象父类)

 

第二步是配置类型映射的细节,基本上用默认项就都可以了。直接Next 下一步

第三步是实体类及关联的细节定制。

在左侧可以看见我们需要生成实体类和映射文件的数据表。当选中某张表的时候,可以在右侧的Table details项中设置

Class name: 表所对应的实体类的名字【注意:在这里直接把包名和类名完整些出来是最合适的写法】

Id Generator: 当前这张表中主键列的生成策略

下面的两项定制就是关于实体的映射关系了。

Generate support for ListedTable(fk)->UnlistedTable:确认是否生成当前这个实体类的多对一关联映射。

Generate support for UnlistedTable(fk)->ListedTable:确认是否生成当前这个实体类的一对多关联映射。

 

注意!如果数据库表之间没有添加外键约束,映射不会生成。

 

全部设置完成后,点击“Finish”按钮。需要的实体类,实体类映射文件,以及Hibernate配置文件中的映射添加就全部自动完成了。

参考技术A 右键new class 参考技术B Hibernate吧。。
连上数据库了后,选择表,然后Hibernate Resvation本回答被提问者和网友采纳

反向生成hibernate实体类和映射文件

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

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

 

以上是关于如何使用myeclipse反向生成实体类的主要内容,如果未能解决你的问题,请参考以下文章

eclipse怎么反向生成实体类

Hibernate反向工程使用心得

java 里 实体类可不可以反向生成数据库?

Snail—Hibernate反向生成实体类及配置文件

HibernateMybatis 通过数据库表反向生成java类和配置

如何根据数据库中的表自动生成实体类