基于MyEclipse的可视化创建Hibernate项目

基于MyEclipse的可视化创建Hibernate项目

一、用MyEclipseWeb项目中添加Hibernate框架

1、新建Web项目“MyHibernateTest

2、添加MySQL驱动程序JAR包。

3、配置好Struts框架(JAR包和配置文件)。

4、在src下建好项目的包结构:

 基于MyEclipse的可视化创建Hibernate项目

 

 

5、 以下为用MyEclipse环境支持的Hibernate功能,向项目中添加Hibernate框架:

右击项目名 → MyEclipse → Add Hibernate Capabilities…

 基于MyEclipse的可视化创建Hibernate项目

 

 

默认选择,对于一般项目,不需要添加“高级类库”:

 

 基于MyEclipse的可视化创建Hibernate项目

Next

 基于MyEclipse的可视化创建Hibernate项目

 

Next:填写连接URL、数据库驱动程序、用户名、口令:

 基于MyEclipse的可视化创建Hibernate项目

Next

以下步骤可以创建一个管理Hibernate的类(此时如不创建这个类,去掉提勾“Create SessionFactory Class”,以后自行创建)。填写存放这个类的包名:com.dao

 基于MyEclipse的可视化创建Hibernate项目

 

点击“Finish”后,回到MyEclipse中,打开Hibernate的可视化配置窗口:

 

 基于MyEclipse的可视化创建Hibernate项目

点击“Source”,可以看到生成的hibernate.cfg.xml文件的代码。在com.dao包中生成有 “HibernateSessionFactory.java”类,其中包含了与Hibernate打交道的主要方法,而且编写规范。

 


二、用反向工程,生成PO类、映射文件以及DAO类代码:

1、切换到数据库透视图“MyEclipse Database Explorer”,或Hibernate透视图“MyEclipse Hibernate”。

 

2、新建一个到数据库的连接“MyHibernateConn1”(如果已经有连接,不用重建):

 基于MyEclipse的可视化创建Hibernate项目

 

3、打开这个连接,找到要封装的表(monkeys),右击 → 选择Hibernate反向工程命令“Hibernate Reverse Engineering…”:

 

 基于MyEclipse的可视化创建Hibernate项目

 

如果有这个对话框,OK

 基于MyEclipse的可视化创建Hibernate项目

浏览找到项目的src文件夹,和src中的com.po包,并选择生成“映射文件”和“POJO类”:

 基于MyEclipse的可视化创建Hibernate项目

NextId 生成器选“native

 基于MyEclipse的可视化创建Hibernate项目

 

Next

 

 基于MyEclipse的可视化创建Hibernate项目

 

Finish,这时会询问是否打开“MyEclipse Hibernate透视图”,Yes

 基于MyEclipse的可视化创建Hibernate项目

 

 

可以看到在po包中生成的PO类和它的映射文件(有红叉,是因为Monkeys类关联的Teams类还没有生成):

 

5、用同样的方法,对数据库中的其它表进行封装。

 

 

 

如果提示“这个包中已有文件,有可能被覆盖”,OK

 基于MyEclipse的可视化创建Hibernate项目

 

 

用反向工程封装的monkeys表和teams表,做成是双向关联的,即“一对多”和 “多对一”。

 

*.hbm.xml映射文件中的代码是规范的编写格式,其中,属性节点标签的规范书写格式:

    

<property name="name" type="java.lang.String">

         <column name="NAME" length="15" not-null="true" />

</property>

 

    与简化书写格式:

  <property name="name" type="java.lang.String" column="NAME" length="15" not-null="true" />

 

等价。

 

 

Teams.hbm.xml中的<set>的配置,属性:inverse="true",缺省是“false”。

因为是双向关联,Hibernate在清理缓存时,会执行多余的SQL语句,为避免重复执行多余的SQL语句,将inverse设置为true。

 

 

 

 

 

转载于:https://www.cnblogs.com/yehancheng/archive/2013/06/10/3130653.html