如何使用myeclipse反向生成实体类
2015-12-18 · 知道合伙人软件行家
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配置文件中的映射添加就全部自动完成了。