Hibernate反向工程-——Myeclipse从数据库反向生成Java类
2016-02-17 15:40
429 查看
主要分为三步:
1:在myeclipse中db explorer视图中连接数据库
2:生成cfg Hibernate映射文件
3:生成Java类
闲话少谈,直接上图
第一步:myeclipse中window-->open Perspective-->MyEclipse Java Persistence
操作后会出现一个视图DB Brower:MyEclipse Derby
在空白区点击右键,新建一个数据库对象。我用的是mysql,其实我一直想用oracle之类的,只是机子内存小,又懒得倒腾别的,结果截个图吧:
左边的属性按照自己使用的数据库填就行了,左边部分是我建好以后的结果,数据库名叫shop,有个user表 是专门这次测试用的
![](http://dl2.iteye.com/upload/attachment/0048/9217/6e661b27-55dc-336e-bc90-0cdff7c92609.jpg)
第二步:
新建一个WEB项目
然后选中项目右键-->MyEclipse-->add Hibernate Capabilities
如果需要用到在实体类上添加注释的话那么选中紧挨着的add Hibernate Annotations Support(据说现在都用annotations了就选上吧!!)
![](http://dl.iteye.com/upload/attachment/489227/70bad1bf-e066-303c-988b-d6053a15d487.jpg)
![](http://dl.iteye.com/upload/attachment/489219/61378e32-401f-3b56-a5be-51f9940e3db9.jpg)
然后下一步选中一个目录存放自动生成hibernate.cfg.xml文件,一般毫无例外的放在src根目录下,下一步选中一个DB Driver中我们第一步建立的那个(对我来说是com.mysql....反正就是自己建的那个呗),然后下一步选中一个目录存放自动生成的HibernateSessionFactory工具类 ,结果出来以后我看了一下,这个hibernateSessionFactory工具类就是一个拿Session的单例,还有一些其它关闭session之类的方法,一看便知。下图是生成的配置文件:
![](http://dl.iteye.com/upload/attachment/489221/c7f1975a-5a60-3286-a145-8e5a5e912b08.jpg)
第三步反向生成实体类
到DB Brower中找到要反向的表选中并且点击右键--->Hibernate Reverse Enginnering
看选项:java src folder 源码包,不用多解释,java package——存放将要反转出来的实体类,选择目录(应该是提前建好的com.xxx.model之类的包);Create pojo<>db。。。这个选项选中,就是我们建立从表到简单java 对象(即pojo)的配置,把下面的add hibernate
mapping annotations to pojo的选上,其它不管,这个选项用来“添加映射注解到pojo对象上”,它上面的那个选项用来创建xml的,据说不太用了,就用annotation吧!
![](http://dl.iteye.com/upload/attachment/489223/d9f83a0f-fed4-3a29-9671-8ff3bfe6e5a8.jpg)
这样应该就够了,下一步
看图:type Mapping要选上hibernatetypes,这样这些注解都是来自 javax.persistence.*了 (刚观察过!)
id generator 看下拉列表就知道是配置id生成策略的
那两个enable 是说映射关系发现(detection),明白了吧?英文好就是沾光,不用像我一样还得查字典了。
![](http://dl.iteye.com/upload/attachment/489225/424e4cca-17f9-310a-a2a5-4969f27b4b33.jpg)
下一步:没啥理解不了的 动手点点就知道了
![](http://dl.iteye.com/upload/attachment/489227/70bad1bf-e066-303c-988b-d6053a15d487.jpg)
直接完成,发现代码很漂亮,注释很完美,而且肯定没有错误,几分钟都能搞定数十个表,不得不感叹myeclipse,真是个大金矿。
1:在myeclipse中db explorer视图中连接数据库
2:生成cfg Hibernate映射文件
3:生成Java类
闲话少谈,直接上图
第一步:myeclipse中window-->open Perspective-->MyEclipse Java Persistence
操作后会出现一个视图DB Brower:MyEclipse Derby
在空白区点击右键,新建一个数据库对象。我用的是mysql,其实我一直想用oracle之类的,只是机子内存小,又懒得倒腾别的,结果截个图吧:
左边的属性按照自己使用的数据库填就行了,左边部分是我建好以后的结果,数据库名叫shop,有个user表 是专门这次测试用的
![](http://dl2.iteye.com/upload/attachment/0048/9217/6e661b27-55dc-336e-bc90-0cdff7c92609.jpg)
第二步:
新建一个WEB项目
然后选中项目右键-->MyEclipse-->add Hibernate Capabilities
如果需要用到在实体类上添加注释的话那么选中紧挨着的add Hibernate Annotations Support(据说现在都用annotations了就选上吧!!)
![](http://dl.iteye.com/upload/attachment/489227/70bad1bf-e066-303c-988b-d6053a15d487.jpg)
![](http://dl.iteye.com/upload/attachment/489219/61378e32-401f-3b56-a5be-51f9940e3db9.jpg)
然后下一步选中一个目录存放自动生成hibernate.cfg.xml文件,一般毫无例外的放在src根目录下,下一步选中一个DB Driver中我们第一步建立的那个(对我来说是com.mysql....反正就是自己建的那个呗),然后下一步选中一个目录存放自动生成的HibernateSessionFactory工具类 ,结果出来以后我看了一下,这个hibernateSessionFactory工具类就是一个拿Session的单例,还有一些其它关闭session之类的方法,一看便知。下图是生成的配置文件:
![](http://dl.iteye.com/upload/attachment/489221/c7f1975a-5a60-3286-a145-8e5a5e912b08.jpg)
第三步反向生成实体类
到DB Brower中找到要反向的表选中并且点击右键--->Hibernate Reverse Enginnering
看选项:java src folder 源码包,不用多解释,java package——存放将要反转出来的实体类,选择目录(应该是提前建好的com.xxx.model之类的包);Create pojo<>db。。。这个选项选中,就是我们建立从表到简单java 对象(即pojo)的配置,把下面的add hibernate
mapping annotations to pojo的选上,其它不管,这个选项用来“添加映射注解到pojo对象上”,它上面的那个选项用来创建xml的,据说不太用了,就用annotation吧!
![](http://dl.iteye.com/upload/attachment/489223/d9f83a0f-fed4-3a29-9671-8ff3bfe6e5a8.jpg)
这样应该就够了,下一步
看图:type Mapping要选上hibernatetypes,这样这些注解都是来自 javax.persistence.*了 (刚观察过!)
id generator 看下拉列表就知道是配置id生成策略的
那两个enable 是说映射关系发现(detection),明白了吧?英文好就是沾光,不用像我一样还得查字典了。
![](http://dl.iteye.com/upload/attachment/489225/424e4cca-17f9-310a-a2a5-4969f27b4b33.jpg)
下一步:没啥理解不了的 动手点点就知道了
![](http://dl.iteye.com/upload/attachment/489227/70bad1bf-e066-303c-988b-d6053a15d487.jpg)
直接完成,发现代码很漂亮,注释很完美,而且肯定没有错误,几分钟都能搞定数十个表,不得不感叹myeclipse,真是个大金矿。
相关文章推荐
- JAVA字符串格式化-String.format()的使用
- Java JVM:垃圾回收问题
- SpringMVC 初探--前言
- java连接PostgreSQL数据库出现问题
- JAVA实现基础排序算法
- struts Value Stack 值栈
- Spring项目搭建
- JVM调优-Java垃圾回收之分代回收
- jdk配置、jvm配置、远程debug配置样例
- eclipse保错解决
- Spring AOP中pointcut expression表达式解析 及匹配多个条件
- Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
- Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
- 序列求和
- springMVC项目中配置i18n
- Spring MVC和Struts2的比较
- javaBean
- spring的事务管理实现
- Java JVM:内存溢出问题
- Java集合框架源码解读(1)ArrayList