优缺点:
经过项目实践, 总结出先设计表的几个缺点:
- 1
. 各种不同数据库间类型与 Java 类型映射关系不同导致 E-R 设计的难度, 使得 o/r 的数据库可移植性大打折扣。
-
- 2
. business 发生变化 需要修改 表结构时, 需要修改的地方有 表, 映射文件, 实体, E-R 图, 这些工作都非常繁琐且容易出错, 如果先设计 Entity Object, 不会存在上述问题.
-
- 3
. 非 OO 的设计思路可能会导致涉及到多表查询的复杂度增加.
==========================
一、由映射文件生成对应的数据库
自动生成只适用于数据库的表,数据库没有的话,需要自已手工建立。
(方法一:启动服务器自动生成数据库表)
此方法需要配置hibernate.cfg.xml
文件,在该文件中添加属性:
<property name="hbm2ddl.auto">create</property>
这种方式可以在启动web服务后首次调用Hibernate时自动建立数据库表,建立表后再把这个属性去掉,防止以后自动重新建立表,丢失数据。
(方法二:由java文件主函数生成数据库表)
1、新建工程dianziHibernateBase。首先第一步,还是导入必备的jar包。
Hibernate3.3.1
必备包:
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
javassist-3.4.GA.jar
jta-1.1.jar
mysql3.1.11
驱动:
mysql-connector-java-3.1.11-bin.jar
另外还有三个包是必备的,可以到findjar网站
搜索并下载,这个网站真的是很有用的一个工具网站
。
log4j-1.2.13.jar
slf4j-api-1.5.6.jar
slf4j-log4j12-1.5.6.jar
其次是安装mysql5,我安装的是5.0.18,有关mysql的安装请查看《mysql5全新安装手册》
2、拷贝所需文件
从eclipse开发J2EE项目系列(2)
中拷贝如下文件,内容无需修改:
SuperAModel.java
SuperIModel.java
User.java
AutoExportDB.java
User.hbm.xml
hibernate.cfg.xml
目录结构如下图:
其中"AutoExportDB.java"是工具类主函数,我们执行如下代码,就能轻松将User类导入数据库转变成数据库中的表。不过,前提是我们已经在MySQL中建立了一个名为"struts2"的数据库(根据配置文件hibernate.cfg.xml得来)。
利用此方法,可以先进行Java类的设计,再自动生成配置文件和数据库表,这样做更符合OO的设计思想,但是如果遇到表与表之间关系复杂,可能就不是很适合了。实际项目开发中,多应用由数据库表生成Hibernate实体类和配置文件。
/**
*
*/
package com.dianzi.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
/**
* 生成数据库表
*
* @author 点子二木
* @date 2009-1-7
* @version 1.0
*/
public class AutoExportDB {
static Session session;
static Configuration config = null;
static Transaction tx = null;
/**
* 运行此类,通过POJO类和配置文件,创建数据库结构
*
* @param args
*/
public static void main(String[] args) {
System.out.println("开始自动创建数据库结构...");
try {
config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();
SchemaExport schemaExport = new SchemaExport(config);
schemaExport.create(true, true);
tx.commit();
System.out.println("数据库结构创建成功...");
} catch (HibernateException e) {
e.printStackTrace();
System.out.println("数据库结构创建失败...");
try {
tx.rollback();
} catch (HibernateException e1) {
e1.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("数据库结构创建失败...");
try {
tx.rollback();
} catch (HibernateException e1) {
e1.printStackTrace();
}
} finally {
System.out.println("结束...");
}
}
}
二、由数据库表生成Hibernate实体类和配置文件 (本部分尚未学习清楚,以后再补充)
(方法一:Myeclipse中集成了此工具)
由于不免费,且工具非常简单易用,故不详细说明。
(方法二:)
Hibernate Tools for Eclipse插件的安装和使用
http://blog.chinaunix.net/u1/45779/showart_1409209.html
(方法三:)
Hibernate Synchronizer
分享到:
相关推荐
Eclipse_J2EE_bbs_struts_hibernate_struts" 暗示了一个基于Java EE(以前称为J2EE)的BBS(Bulletin Board System,电子公告板)应用程序开发项目,该程序使用了Eclipse IDE,以及Struts、Hibernate和Struts框架。...
《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例全书》是一本深入探讨J2EE Web应用程序开发的专业书籍。J2EE,全称Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的...
它涵盖了Java企业级开发中的四个关键技术和框架:Eclipse集成开发环境(IDE)、Struts MVC框架、Hibernate对象关系映射(ORM)框架以及Spring框架。这本书通过丰富的实例,详细解析了如何将这些技术有效地整合在一起...
《精通J2EE—Eclipse Struts Hibernate Spring 整合应用案例源代码1》这个压缩包文件主要包含了一个基于J2EE平台的、利用Eclipse开发工具,整合Struts、Hibernate和Spring框架的综合应用案例的源代码。这些源代码是...
12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...
本案例代码着重讲解了如何利用Eclipse作为开发工具,Struts作为MVC框架,Hibernate作为ORM(对象关系映射)工具,以及Spring作为依赖注入和企业服务的容器,进行深度整合应用。这些技术的结合,旨在提高开发效率,...
压缩包中的“J2EE”文件很可能是包含上述所有技术的示例应用,包括Eclipse项目结构、Struts配置文件、Hibernate映射文件、Spring配置文件以及相关的Java源代码。通过分析和运行这些源码,开发者可以深入理解四大技术...
Eclipse、Struts、Hibernate和Spring是J2EE开发中的四个关键组件,它们分别在不同的层面支持应用的开发、部署和管理。 1. **Eclipse**:Eclipse是一个开源的集成开发环境(IDE),广泛用于Java项目。它提供了代码...
《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例》是针对Java企业级开发的一个深度学习资源,涵盖了四个核心的技术领域:Eclipse集成开发环境、Struts MVC框架、Hibernate对象关系映射(ORM)框架以及...
【标题】"精通J2EE—Eclipse Struts Hibernate Spring 整合应用案例源代码" 涵盖了Java企业级开发中的四个重要组件:Eclipse(开发环境)、Struts(MVC框架)、Hibernate(ORM框架)和Spring(全面的应用框架)。...
《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例》是针对Java企业级开发的一个深度学习资源,涵盖了四个核心的技术领域:Eclipse集成开发环境、Struts MVC框架、Hibernate对象关系映射工具以及Spring...
12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...
3. 引入Struts、Hibernate和Spring的相关依赖,如JAR文件或Maven/Gradle配置。 4. 配置Struts的struts.xml文件,定义Action和结果页面。 5. 实现业务逻辑,创建Hibernate实体类和映射文件,配置SessionFactory。 6. ...
【标题】"精通Java EE项目案例--基于Eclipse Spring Struts Hibernate (源程序3)" 提供了一个深入理解Java企业级应用开发的实例。这个案例基于经典的"SSH"框架,即Eclipse作为集成开发环境,Spring作为核心框架,...
本书《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例》的第3章专注于Hibernate框架的起航,即介绍如何整合Hibernate与其他J2EE技术,并通过具体实例加深理解。 Hibernate是一个开源的ORM(对象关系...
3. Hibernate处理数据持久化,将Java对象映射到数据库表,实现数据库操作的透明化。 4. Spring作为整体架构的胶水,管理对象的创建和依赖关系,同时提供事务管理和AOP支持,使得整个系统更加模块化和可测试。 通过...