`
rayn115
  • 浏览: 68905 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SchemaExport工具实战(hibernate)

    博客分类:
  • Java
阅读更多

SchemaExport工具实战

通常我们使用生成数据库架构代码实例像这样:Configuration cfg=new Configuration();

cfg.Configure(“”);

SchemaExport export =new SchemaExport(cfg);

export.Execute(....);

1.准备工作

现在数据访问测试层新建一SchemaExportFixture.cs文件用于测试生成实战。声明一个全局变量_cfg,编写 [SetUp]方法在每个测试方法执行之前调用:[TestFixture]

public class SchemaExportFixture

{

    private Configuration _cfg;

    [SetUp]

    public void SetupContext()

    {

        _cfg = new Configuration();

        _cfg.Configure();

    }

    //测试......

}

2.测试Drop(script, export)方法[Test]

public void DropTest()

{

    var export = new SchemaExport(_cfg);

    export.Drop(true, true);

}

Drop(script, export)方法根据持久类和映射文件执行删除数据库架构。有两个参数,第一个为True就是把DDL语句输出到控制台,第二个为True就是根据持久 类和映射文件执行删除数据库架构操作,经过调试可以发现Drop(script, export)方法其实质是执行了Execute(script, export, true, true)方法。

3.测试Create(script, export)方法[Test]

public void CreateTest()

{

    var export = new SchemaExport(_cfg);

    export.Create(true, true);

}

Create(script,export)方法根据持久类和映射文件先删除架构后创建删除数据库架构。有两个参数,第一个为True就是把 DDL语句输出到控制台,第二个为True就是根据持久类和映射文件先执行删除再执行创建操作,经过调试可以发现这个方法其实质是执行 Execute(script,export, false, true)方法。

4.测试Execute(script, export, justDrop, format)方法[Test]

public void ExecuteTest()

{

    var export = new SchemaExport(_cfg);

    export.Execute(true, true, false, false);

}

Execute(script, export, justDrop, format)方法根据持久类和映射文件先删除架构后创建删除数据库架构。有四个参数,第一个为True就是把DDL语句输出到控制台;第二个为True 就是根据持久类和映射文件在数据库中先执行删除再执行创建操作;第三个为false表示不是仅仅执行Drop语句还执行创建操作,这个参数的不同就扩展了 上面两个方法;第四个参数为false表示不是格式化输出DDL语句到控制台,是在一行输出的。

所谓格式化输出就像这样:



一行输出就像这样:



5.测试Execute(script, export, justDrop, format, connection, exportOutput)方法[Test]

public void ExecuteOutTest()

{

    var export = new SchemaExport(_cfg);

    var sb = new StringBuilder();

    TextWriter output = new StringWriter(sb);

    export.Execute(true, false, false, false, null, output);

}

Execute(script, export, justDrop, format, connection, exportOutput)方法根据持久类和映射文件先删除架构后创建删除数据库架构。有六个参数,第一个为True就是把DDL语句输出到控制台;第二 个为false就是不执行DDL语句;第五个为自定义连接。当export为true执行语句时必须打开连接。该方法不关闭连接,null就是使用默认连 接,最后一个参数自定义输出,这里我输出到TextWriter中。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liyangbing315/archive/2009/10/24/4724142.aspx

http://zhaoshijie.iteye.com/blog/833846

分享到:
评论

相关推荐

    利用hibernate中的SchemaExport生成数据表

    一般在项目开发过程中,使用比较多的就是先建好表,再利用hibernate反向工程生成*.hbm.xml文件跟POJO类,个人认为由于目前所使用的数据库都是关系数据库,而hibernate作为一个ORM,把对数据库的操作都对象化了,更...

    最新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+中文文档

    3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of inheritance mappings) 16.1. 别名注射(alias injection names) 19.1. ...

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    hibernate对象转换数据库表

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC...Hibernate最初级的操作,使用SchemaExport创建数据表 本资源自带该功能所需要的所有包(hibernate包+log4j包) 环境 jdk+Mysql+eclipse 喜欢的童鞋可以下载哦

    hibernate简单测试

    测试: @Test public void create() { new SchemaExport(new AnnotationConfiguration().configure()).create(true, true); }

    根据Hibernte的cfg文件生成sql文件

    代码如下:public void exportHibernteToSQL(){ Configuration cfg=new Configuration().configure(“/hibernate.cfg.xml”); SchemaExport schemaExport = new SchemaExport(cfg); schemaExport.setOutputFile(...

    boac:伯克利在线咨询(BOA)

    -no-createdb --no-superuser --no-createrole --pwpromptcreatedb boac --owner=boaccreatedb boac_test --owner=boaccreatedb boac_loch_test --owner=boac# Load schemaexport FLASK_APP=run.pyflask initdb创建...

    NHibernate

    NHibernate 之旅(1):开篇有益.............................................................................................5 NHibernate 开篇有益 ............................................................

Global site tag (gtag.js) - Google Analytics