如何使用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反向生成实体类的主要内容,如果未能解决你的问题,请参考以下文章