基于MyEclipse的可视化创建Hibernate项目
基于MyEclipse的可视化创建Hibernate项目
一、用MyEclipse向Web项目中添加Hibernate框架
1、新建Web项目“MyHibernateTest”
2、添加MySQL驱动程序JAR包。
3、配置好Struts框架(JAR包和配置文件)。
4、在src下建好项目的包结构:
5、 以下为用MyEclipse环境支持的Hibernate功能,向项目中添加Hibernate框架:
右击项目名 → MyEclipse → Add Hibernate Capabilities…
默认选择,对于一般项目,不需要添加“高级类库”:
Next:
Next:填写连接URL、数据库驱动程序、用户名、口令:
Next:
以下步骤可以创建一个管理Hibernate的类(此时如不创建这个类,去掉提勾“Create SessionFactory Class”,以后自行创建)。填写存放这个类的包名:com.dao
点击“Finish”后,回到MyEclipse中,打开Hibernate的可视化配置窗口:
点击“Source”,可以看到生成的hibernate.cfg.xml文件的代码。在com.dao包中生成有 “HibernateSessionFactory.java”类,其中包含了与Hibernate打交道的主要方法,而且编写规范。
二、用反向工程,生成PO类、映射文件以及DAO类代码:
1、切换到数据库透视图“MyEclipse Database Explorer”,或Hibernate透视图“MyEclipse Hibernate”。
2、新建一个到数据库的连接“MyHibernateConn1”(如果已经有连接,不用重建):
3、打开这个连接,找到要封装的表(monkeys),右击 → 选择Hibernate反向工程命令“Hibernate Reverse Engineering…”:
如果有这个对话框,OK:
浏览找到项目的src文件夹,和src中的com.po包,并选择生成“映射文件”和“POJO类”:
Next:Id 生成器选“native”
Next:
Finish,这时会询问是否打开“MyEclipse Hibernate透视图”,Yes:
可以看到在po包中生成的PO类和它的映射文件(有红叉,是因为Monkeys类关联的Teams类还没有生成):
5、用同样的方法,对数据库中的其它表进行封装。
如果提示“这个包中已有文件,有可能被覆盖”,OK
用反向工程封装的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。