`
沉末不2
  • 浏览: 12745 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

初探SchemaExport工具使用

阅读更多
使用 SchemaExport 自动建表

 

实际上使用Hibernate自带的工具hbm2ddl,建立根据你的对象建立数据库是很惬意的一件事;)

 

首先当然要建好POJO object, XML Mapping File(也可以使用工具根据POJO class建立),配置文件(hibernate.cfg.xml)

 

然后运行下面的Java代码

 

import org.hibernate.cfg.Configuration; 
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class SchemaUtil {
    public static void main(String[] args) {

        Configuration cfg = new Configuration().configure();
        SchemaExport schemaExport= new SchemaExport(cfg);
        schemaExport.create(false, true);
    }
}

 

再看看数据库,表是不是已经帮你建好了,对于我这样不熟悉数据库的人真是太方便了

 

  • 引入
  • SchemaExport工具
  • SchemaUpdate工具

 

引入

 

我其实都是一直先编写持久化类和映射文件,然后使用SchemaExport工具生成数据库架构。这样的方式就是领域驱动设计/开发(DDD,Domain Driven Design/Development)。我的理解是系统的设计应该基于对象模型,主要考虑对象的设计和逻辑上,然后按照对象模型建立数据库关系模型,这才是现在面向对象开发的步骤,并不是上一篇先设计数据库然后再设计对象。用一幅图可以形象的说明领域驱动设计:

 

 

 

当在设计时,我们的领域模型需要改变,只需修改Hibernate结构和应用程序,不需要修改数据库架构,只要利用SchemaExport工具重新生成数据库架构就可以了。但是使用数据库只是其中一种方式,我们也可以使用XML文件来存储数据。

 

SchemaExport工具

 

Hibernate的hbm2dll提供SchemaExport工具:给定一个连接字符串和映射文件,不需输入其他东西就可以按照持久化类和映射文件自动生成数据库架构,现在SchemaExport工具还不是很强大,但是一般应用足够了,它还是一个相当原始的API还在不断改进。

 

SchemaExport工具就是把DDL脚本输出到标准输出,同时/或者执行DDL语句。SchemaExport工具提供了三个方法,分别是Drop()、Create()、Execute(),前两个方法实质是调用Execute()方法。通常使用Execute()方法来生成数据库架构的。

 

SchemaUpdate工具

 

在Hibernate2.0中新添加SchemaUpdate工具,可以用来更新数据库架构。但是我觉得没有什么作用,因为它不能Drop现有的表或列,也不能更新现有的列,只能添加新的表和列。如果我需要删除表或者列或者修改其中列,SchemaUpdate工具就显得无能为力了。

分享到:
评论

相关推荐

    利用hibernate中的SchemaExport生成数据表

    总结起来,使用Hibernate的`SchemaExport`工具进行数据库表的生成,是ORM理念在实际开发中的体现,它帮助我们更好地遵循面向对象的设计原则,简化了开发流程。通过定义对象和它们的映射关系,我们可以让Hibernate...

    nhibernate 由类文件,映射文件自动生成表的 源代码

    在标题和描述中提到的“nhibernate 由类文件,映射文件自动生成表的 源代码”,指的是使用NHibernate的SchemaExport工具或编程方式,根据定义的类和映射文件自动创建数据库表的机制。以下是对这个主题的详细解释: ...

    根据hibernate配置文件生成数据库.zip

    1. **使用Hibernate的工具hbm2ddl根据你的对象建立数据库SchemaExport.doc** Hibernate的hbm2ddl工具能够根据实体类(即你的对象)和对应的映射文件(.hbm.xml)自动生成数据库模式。SchemaExport是这个工具的一个...

    NHibernate之旅

    这一章节会详细介绍如何使用SchemaExport工具。 16. **对象状态**:NHibernate中每个持久化对象都有其生命周期状态,理解这些状态对于正确使用NHibernate至关重要。这一章节会详细介绍对象的各种状态及其转换规则。...

    hibernate的映射表生成器

    6. **数据库表的生成**: 一旦映射文件准备好,开发者可以使用Hibernate的`SchemaExport`工具,依据映射文件生成或更新数据库表结构。这个GUI工具可能会包含一键生成表的功能,使整个过程更加便捷。 7. **逆向工程**...

    Hibernate 映射文件自动生成

    5. **更新数据库表**:在生成映射文件后,还可以结合Hibernate的SchemaExport工具生成或更新数据库表结构。 这样的自动化过程可以帮助开发者节省大量时间,并且减少人为错误。在实际开发中,例如使用Eclipse或...

    从hbm的xml文件 自动生成数据库表

    3. **使用Hibernate工具**: Hibernate提供了SchemaExport或HibernateTool工具,可以读取hbm.xml文件并生成相应的DDL语句。例如,`SchemaExport.create(true, true)`将执行CREATE命令,而`SchemaExport.drop(true, ...

    NHibernate应用讲解.pdf

    - 如何使用SchemaExport工具来创建或更新数据库模式。 以上内容总结了《NHibernate应用讲解》PDF文档中的主要知识点,涵盖了从NHibernate的基本概念到高级特性的详细介绍。通过学习这些内容,开发者可以更好地掌握...

    中山大学软件工厂hibernate课件

    8. **工具支持**(14_工具.ppt):介绍Hibernate提供的工具,如SchemaExport工具用于生成数据库表结构,Hibernate Console工具辅助开发等。 这些课件内容旨在帮助学习者全面理解Hibernate的工作原理,掌握其基本...

    最新hibernate版本5.2.11final

    最新hibernate 版本5.2.11.final--最新hibe--最新hibernate 版本5.2.11.finalrnate 版本5.2.11.final--最新hibernate 版本5.2.11.final

    Hibernate Developer Guide

    - SchemaExport 工具可以帮助开发者生成数据库表结构,支持创建、更新、删除等操作。 #### 二、事务与并发控制 **2.1 定义事务** - 事务是数据库操作的基本单位,保证了数据的一致性和完整性。 **2.2 物理事务*...

    SQLite 与 NHibernate 在 .NET 程序中使用.doc

    5. 初始化数据库:在应用程序启动时,可以使用 NHibernate 的工具(如 SchemaExport 类)根据映射文件自动生成数据库结构。 6. 使用 NHibernate:在代码中,通过 SessionFactory 创建 Session 对象,进而进行 CRUD...

    Hibernate学习笔记

    Hibernate提供了一些实用工具,如SchemaExport工具可以生成数据库脚本,hibernatetool可以进行反向工程,自动生成Java实体类等。 总结,Hibernate的学习涵盖了从基础的配置、实体映射到复杂的继承策略、查询机制,...

    hibernate反向生成数据库程序

    总的来说,这段代码演示了如何使用Hibernate框架的`SchemaExport`工具来反向生成数据库结构。在实际项目中,开发者可能会进一步利用Hibernate的逆向工程功能,自动生成实体类和映射文件,以便更方便地进行数据库操作...

    改AHibernate 实现数据库 自动新增表参数

    2. **扩展Hibernate的SchemaExport工具**:Hibernate的SchemaExport类用于处理DDL生成。我们可以创建一个自定义的SchemaExport类,覆盖其generate方法,添加额外的逻辑来检查并插入version字段。这通常涉及到解析元...

    Hibernate相关文档下载(全)

    Hibernate提供了SchemaExport工具,可以自动生成数据库表结构;Hibernate Console是图形化的工具,用于可视化配置和运行HQL;Hibernate Tools则集成了Eclipse或IDEA等IDE,提供代码生成、逆向工程等功能。 9. **...

    计算机二级java资料.pdf

    Hibernate的SchemaExport工具允许开发者直接生成数据库模式,从而方便地在数据库中创建表。 综合以上内容,这份计算机二级Java资料详细讲解了EJB基础、Hibernate对象关系映射以及Java类到数据库表的映射等重要知识...

    hibernate.rar

    - 创建SessionFactory:调用Hibernate的`SchemaExport`工具生成数据库表结构。 - 数据库操作:通过`<sql>`任务执行SQL语句,如填充测试数据。 5. Hibernate操作流程: - 加载配置并获取SessionFactory。 - 打开...

    Hibernate3中文帮助手册

    手册还会涵盖一些高级特性,如CGLIB和JPA支持、延迟加载(Lazy Loading)、级联操作(Cascading)、事件监听器、性能调优以及Hibernate工具(如SchemaExport工具,用于生成数据库表结构)等。 七、最佳实践与案例...

    Hibernate学习笔记(三)

    至于“工具”标签,可能是指Hibernate提供的工具集,包括SchemaExport工具可以用来根据实体类生成数据库表结构,Hibernate Inspector则是一个用于查看和调试Hibernate配置的实用程序。这些工具在开发和调试过程中能...

Global site tag (gtag.js) - Google Analytics