使用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:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在 ...
随机推荐
- HTML 自动、手动切换轮播 from:金水
.自动.手动切换轮播 body代码: <div id="tuijian"> <div class="pages" id="p1&qu ...
- 详解go语言的array和slice 【一】
本篇会详细讲解go语言中的array和slice,和平时开发中使用他样时需要注意的地方,以免入坑. Go语言中array是一组定长的同类型数据集合,并且是连续分配内存空间的. 声明一个数组 var a ...
- scrapy爬虫框架
downloader:负责下载html页面 spider:负责爬取页面内容,我们需要自己写爬取规则 srapy提供了selector,获取的方式有xpath,css,正则,extract item容 ...
- python实例编写(2)--等待,一组对象,层级元素,frame对象处理
一.设置等待 #coding=utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDri ...
- PostgreSQL使用MyBatis,insert时返回主键
MyBatis中普通的insert语句是这样的: <insert id="insert" parameterType="com.xxx.xxx.xxDo" ...
- Rendering Problems Failed to load platform rendering library 为何打开布局页面时手机预览页面显示不出来?
看到图片右上角的 android图标没有?把它改为低版本的就可以了,如我的是21就可以了.原因我想是因为sdk版本更新了不兼容导致的吧.
- sdk&jdk&jre
1. jre and jdkJRE(Java Runtime Enviroment)是Java的运行环境.面向Java程序的使用者,而不是开发者.如果你仅下载并安装了JRE,那么你的系统只能运行Jav ...
- java核心卷轴之泛型程序设计
本文根据<Java核心卷轴>第十二章总结而来,更加详细的内容请查看<Java核心卷轴> 1. 泛型类型只能是引用类型,不可以使用基本数据类型. 2. 类型变量含义 E : 集合 ...
- Flip Game poj 1753
Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29731 Accepted: 12886 Descr ...
- SVN版本控制图标经常延时显示或未显示问题解决方法
项目中,使用svn经常遇到,文件或文件夹图标延时显示或未显示的问题,终于找到办法解决 客户端:TortoiseSVN