使用Hibernate Tools从数据库逆向生成Hibernate实体类
自动生成model.java、*.hbm.xml 甚至是dao.java、*.ddl、*.html等等。一般也就如下三种方式 1. MyEclipse 自带插件
2. jboss的 hibernate-tools插件(最为常用)
3. ant 脚本方式。 当然也有一些其他工具自动生成,比如 SSM 的 mybatis-Generator 自动生成dao、model、mapping 等等,
基于目前SSH 和 eclipse 选择第二种方式 hibernate-tools插件。网上看了一些资料大部分都是mysql和oracle驱动的, 由于目前项目是sqlserver,添加驱动的时候绕了半天弯子(没有找到公司sqlserver驱动),特此总结下。
一、集成Hibernate tools 网上资料挺多的,一般是离线、和在线,由于不是特别大,我选了在线安装
Help-->Eclipse Marketpalce...-->搜索JBoss tools->install
勾选Hibernate tools,点击next,进行安装。
注意版本,找自己eclipse版本对应的安装,我的是INDIGO
安装后,重启Eclipse。搞定。
启用Hibernate perspective: Windows->Perspective->Open Perspective->Other...->选择Hibernate
二、配置hibernate.cfg.xml
步骤
1 新建一个hibernate configuration(操作入口:项目 ---> 新建 ---> other ---> hibernate)
2 点击“next” 下一步 选择项目中路径,存放 hibernate.cfg.xml 目录。
3 点击“next“,填写相关信息。
4 点击“next” 注意hibernate版本,选择自己的项目。
5 点击“new”选择对应数据库
6 点击“next” ,(驱动自己下载的sqljdbc_6.2.2.0_chs.tar.gz)自己找到的可以忽略
7 如果出现如下错误,点击加号,选择自己本地的驱动
8 完成后点击“ok”,填写完数据库的相关连接后,可以点Test Connection测试是否可以连接上。
驱动不对
连接成功
9 选择steup 创建*.cfg.xml
10 可以点击next配置更具体的设置,此处我们直接Finsh
11 查看Hibernate Configurations视图
12 如果报错“database dialect”无效,请选择“Options”中对应server
最后查看下刚才建好的hibernate.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="hibernate.connection.password">33301</property>
<property name="hibernate.connection.url">jdbc:jtds:sqlserver://192.168.1.16:1433;DatabaseName=C33RM_BA</property>
<property name="hibernate.connection.username">user</property>
<property name="hibernate.dialect">SQL Server</property>
</session-factory>
</hibernate-configuration>
三、配置hibernate.reveng.xml
1 在“Hibernate Perspective”视图中, 点击 “Hibernate Code Generation Configuration”
2 填写对应信息
在生成代码框中,新建configuration,并填写Main选项卡和Exporters选项卡, Main中需要填写输出路径等,填完的如下 console configuration选择前边刚配置完的Hibernate Configuration,前边的名字是“hibernate” Output directory选择输出路径 Reverse enginner from JDBC Connection勾选 Package填写包名 reveng.xml填写创建hibernate.reveng.xml的位置,没有则新建。
3 选择Exporters 标签 选择需要生成哪些文件,这里选择 model.java 和 *.hbm.xml
4 最好是选择Common 选择一下编码格式
5 保存就好,点击关闭会提示保存。 至此准备工作做完。
6 双击打开创建好的hibernate.reveng.xml ,可以直接在Source中配置需要生成的表,也可以在 table Filters 中 include 数据库中表
7 见证奇迹的时候到了,保存后点击 上面 3 步骤中的 Run 生成如下代码
备注:
hibernate.reveng.xml 还可以修改数据库转换到model的字段类型(譬如数据库中值为int时,默认会转变为Integer)
修改talbe & colums 中选中字段设置hibernate type。
也可以配置类名(不设置的话,根据表名自动生成)
配置id生成方式(1.add primary key ,2 add generator(类型为assigned,如需要其它类型直接在文件中进行修改))
等等。。。。。
使用Hibernate Tools从数据库逆向生成Hibernate实体类的更多相关文章
- [转]eclipse借助hibernate tool从数据库逆向生成Hibernate实体类
如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle, ...
- eclipse从数据库逆向生成Hibernate实体类
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...
- Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类
一.安装hibernate tools插件 1.在线安装 通过Eclipse的Help->Install New Software 在线安装插件,插件连接为: eclipse helios(3. ...
- 从postgres数据库逆向生成hibernate实体类
最近整理 一个项目,原先的项目是用的oracle,然而新的项目要用postgresql.将oracle数据库导出之后,通过powerdesigner整理,导出postgresql的脚本,然后在post ...
- Eclipse从数据库逆向生成Hibernate实体类和映射文件(Eclipse插件系列之HibernateTools)
♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣ ...
- Eclipse从数据库逆向生成Hibernate带注解的实体类
http://www.2cto.com/database/201501/372023.html
- mysql逆向生成 java 实体类
import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import java.sql.Connecti ...
- eclipse逆向生成hibernate的实体类(注解和配置文件)
eclipse从数据库逆向生成Hibernate实体类(注解和配置文件) 分类: hibernate 数据库 java 2011-10-22 21:28 2915人阅读 评论(8) 收藏 举报 做项目 ...
- (转) Eclipse通过HibernateTools实现逆向生成Hibernate实体类
背景:工作中使用Hibernate进行持久化的开发工作,所以有必要详细了解这方面的知识. ps:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在 ...
随机推荐
- 201521123101 《Java程序设计》第13周学习总结
1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 te ...
- json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...
- Zookeeper-5分钟快速掌握分布式应用程序协调服
一.Zookeeper 安装 1.zookeeper支持brew安装. ➜ ~ brew info zookeeper zookeeper: stable (bottled), HEAD Centra ...
- linux加载与使用ko驱动
linux驱动和有两种形式: 1:编译到内核 2:编译为ko模块 这里记录下ko模块使用方法. 首先cd到/var/lib/(内核版本)/drivers/ 在这里面找到要装载的模块ko文件 modpr ...
- [android游戏开发初学]简单的游戏框架
这两天,没事想学习游戏开发,看了一些资料之后准备开始.为了将来编码方便,先写了一个简单的游戏框架方便自己以后做练习用. 如果以后没有什么特殊的需求--比如opengl什么的,会尽量用这个简单框架来实现 ...
- RabbitMQ消息队列之二:消费者和生产者
在使用RabbitMQ之前,需要了解RabbitMQ的工作原理. RabbitMQ的工作原理 RabbitMQ是消息代理.从本质上说,它接受来自生产者的信息,并将它们传递给消费者.在两者之间,它可以根 ...
- Sql Server——数据的增删改
所谓数据的增删改就是在创建好数据库和表后向表中添加数据.删除表中的数据.更改表中的一些数据. 新增数据: 语法一: insert into 表名 values (数据内容) --这里需要 ...
- Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值 解决方法 :在startActivity 用 intent传输数据
这是bundle是传输不了数据的,获取到 出现这种情况的原因是非activity类中不存在Context,而在活动中传输数据时需要Context. 我收集到了两种解决方法. 1. 在调用该Adapte ...
- NOIP2017SummerTraining0712
个人感受:打了三个小时不到的第一题,然后也就没有多少时间去搞第二题了,特别是第二题还看到了期望这样的东西,这个难以理解,第三题的树分治,myx大佬说50分好拿,但是我觉得也挺难拿的. 单词检索 时间限 ...
- WPF DataGrid显格式
Guide to WPF DataGrid formatting using bindings Peter Huber SG, 25 Nov 2013 CPOL 4.83 (13 votes) ...