eclipse java 逆向工程_使用eclipse逆向工程开发hibernate项目

在项目设计时,要么根据需求分析建立实体类,然后正向生成数据库表;要么先进行数据库表设计,然后逆向生成实体类。也就是说,不会完成一方的设计后再花时间去匹配建立另一方,这么做的原因是:

1、如果不使用正向或逆向工程,则会是1.5倍的工作量,浪费时间

2、无法保证两边的映射一致。因为两边都是自己设计的,就需要人为地保证映射关系的统一,这样会留下隐患

3、开发、维护上都不利,因为如果任意一方由于某些原因需要修改,那么经常两边都要修改,这样的话映射不一致的可能性不仅会更大,而且效率地下

在eclipse中连接数据库

虽然eclipse自带了数据库管理器(Data Management),但这里我使用的是插件DBViewer,将该插件下载后放到plugins目录下,重启eclipse,点击Window-Show View-Other-DBViewer Plugin-DB Tree View,如下:

e0b8301037e9f61c85eeeb816e0556d4.png

右键DBViewerPlugin-Add,如下:

6c7b79c58b099252fc9b9f30e8fae32d.png

在"DataBase Define Name"中为要连接的数据库取一个名字,点击JDBC Driver下的Add File选项添加连接数据库的jar包,点击Next,如下:

7640fd3d98f7f6f4efffcbc65dceabd9.png

填写好数据库配置信息,点击Test connection测试是否连接上数据库,如下:

51f967d29ec31f587898f5d52fefd2bf.png

点击Finish即完成数据库连接,如下:

11b6a1951ab2d58aeb6883fbfa9b897e.png

下载并安装hibernate tools插件

选择Help-Eclipse Marketplace,在搜索框中输入JBoss Tools,点击JBoss Tools 4.1.2 Fianl中的Install选项,如下:

9ae592b42ec3e8b90ed7832b81cdaa2d.png

这里我们只需要Hibernate Tools,因此只用勾选此选项,点击Confirm,如下:

337d35470e5e3ed039c7f0e42a875b1a.png

安装过程中会弹出两个提示框,一个是提示证书安全,另一个是提示要重启eclipse,我们都点击确定即可。

开发hibernate项目

1.自动生成hibernate.cfg.xml文件

首先创建一个java项目,并导入hibernate包(可以新建一个lib文件夹,将hibernate必须的jar包以及数据库连接的jar包放置到该文件夹下,然后右键-Add To Build Path)。

右键项目-New-other,新建一个hibernate.cfg.xml文件,如下:

012dff7c24812ac74f8144131ca3c114.png

由于我们前面已经在eclipse中连接了数据库,因此配置hibernate.cfg.xml文件时,可以点击"Get values from Connection"来读取前面配置的数据库连接信息,如下:

ffac885851f809b137571e94ce3a3cda.png

之后选择数据库方言(Database dialect),点击Finish即可。在src目录下会看到自动生成的hibernate.cfg.xml文件,如下:

8060bb161d3e5e00ee17e8ae40ab50df.png

435dd0d02aa2659c7dd41176f01505eb.png

2.添加hibernate控制台配置

右键项目-New-other,搜索hibernate,选择Hibernate Console Configuration,点击Next,如下:

5e9e72aa11f4610924d1a1cbecfd3f0b.png

在Name中指定该hibernate console configuration的名称,在Project中选择项目,在Database Connection中选择前面配置的数据库连接,在Configuration file中选择前面自动生成的hibernate.cfg.xml文件,点击Finish,如下:

2c85681088e6057349a908aa625b0f62.png

3.自动生成hibernate.reveng.xml文件

右键项目-New-other,搜索hibernate,选择Hibernate Reverse Engineering File,点击Next,如下:

0995479533fdda5cb6b0adf6ae0c29c2.png

在Console configuration中选择上一步配置的名字(即hibernate console configuration中输入的Name),点击Refresh刷新出前面连接的数据库中的全部Schema,点击Include会将指定的数据库或表添加到Table filters中,这里我们不过滤任何表,如下:

2a361a8087f948422d28e9b9ce798a1c.png

点击Finish,在项目下会有一个hibernate.reveng.xml文件,打开该文件,点击Table&Columns标签页,点击Add,选择刚才配置的hibernate console configuration的名称,点击OK,选择要映射的表,如下:

1a8fb404f8920d3a2c81fc9cecca808d.png

4.自动生成*.hbm.xml文件

点击Run-Hibernate Code Generation-Hibernate Code Genration Configurations,如下:

02b7b27f86186f94eb5b703003961aa9.png

Main标签页中,在Console configuration中选择前面的hibernate console configuration中配置的名称,在Output directory中选择自动生成的domain类放置的位置,这里我们需要事先在src目录下建一个包(com.kevin.domain)用来存放domain类,勾选Reverse engineer from JDBC Connection,在reveng.xml中选择刚才自动生成的hibernate.reveng.xml文件,如下:

ca777b442f2c6ff44f9ccba1b895cf43.png

Exporters标签页中,勾选Domain code(.java)和Hibernate XML Mappings(.hbm.xml),如下:

626aa1a9fe83eb6f4b8728bfbd02775d.png

点击Run,在指定目录下就可以看到自动生成的domain类和*.hbm.xml文件了,如下:

f6940468d7cbf6a250e0b0dc324d1b98.png

注:

1、有错误是因为domain类中没有指定包位置,打开Employee.java文件,添加包位置即可(如package com.kevin.domain;)

2、由于此时没有自动更新hibernate.cfg.xml文件,因此我们需要手动在其中添加需要管理的对象关系映射文件,如下:

1af4f8e59b6d16d0e3a0e030b4c1d98c.png

3、打开Employee.hbm.xml文件,会发现其中没有指定要映射的domain类的位置,因此我们需要手动加上,即package="com.kevin.domain",如下:

8728595a068f993fa76ff370f85e80c1.png

4、Employee.hbm.xml文件中的type属性值可以是java类型的(比如java.lang.String),也可以是hibernate类型的(比如string),一般使用java类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值