- 浏览: 2261741 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
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
通常我们使用生成数据库架构代码实例像这样: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
发表评论
-
数据库连接池选型
2014-12-04 18:32 1171关键字:数据库连接池选型 proxool(与spring不太 ... -
Mybatis物理分页插件(目前mybatis下最好的物理分页)
2014-12-03 22:36 45668关键字:Mybatis物理分页插件(目前mybatis下最好的 ... -
atomikos(com.atomikos.icatch.SysException: Error in init(): Log already in use)
2014-10-15 13:12 8528关键字:atomikos(com.atomikos.icatc ... -
mybatis级联查询的两种配置方式(很多人问我,这里给出答案)
2014-08-11 23:39 5070关键字:mybatis级联查询的两种方式 第一种配置方式: ... -
Mybatis 打印SQL(sql)
2014-02-28 13:26 2832关键字:Mybatis 打印SQL(sql) ####### ... -
ibatis泛型dao(spring SqlMapClientTemplate支持)
2011-12-04 21:11 3714关键字:ibatis泛型dao(spring SqlMapC ... -
跟踪 C3p0 连接池连接泄漏之参数优化与日志分析
2011-09-13 11:48 11303<property name="un ... -
Hibernate注释大全收藏
2011-06-22 15:00 905关键字:Hibernate注释大全收藏 声明实体Bean ... -
hibernate调用MySql存储过程
2011-06-21 09:38 2595关键字:hibernate调用MySql存储过程 Java ... -
hibernate hql where语句拼接工具类
2011-05-27 01:18 3539附件是:hibernate hql where语句拼接工具类 ... -
Hibernate Mysql注解设置自动增长列
2011-05-08 05:14 10104@Entity @Table(name = "T_P ... -
hibernate二级缓存(包括注解方式)
2011-04-11 20:33 12275二级缓存配置(spring+hibernate) 说明:本人 ... -
Hibernate泛型DAO(结合spring模板支持)
2011-03-31 19:49 982详细介绍 Hibernate 泛 ... -
hibernate注解
2011-03-31 15:35 57附件是hibernate注解相关资料。 -
Eclipse中配置及使用iBATIS插件—ibator
2011-03-17 18:37 3723ibator,大快人心,以下对其配置及使用做个简单介绍. 一 ... -
Hibernate帮助文档及API
2011-03-05 22:16 2100附件是:Hibernate帮助文档及API,欢迎下载学习。 -
如何配置hibernate二级缓存呢?
2011-01-31 17:16 950配置二级缓存网站推荐: http://www.ineeke. ... -
String之HibernateTemplate经典查询
2010-12-08 15:49 1934一、find(String queryString); ... -
Hibernate之Criteria使用经典
2010-12-08 14:32 1001创建一个Criteria 实例 org.hibernate. ... -
Hibernate条件查询(DetachedCriteria)
2010-11-21 01:28 1778Hibernate条件查询(DetachedCriteria) ...
相关推荐
本篇文章将详细介绍如何利用Hibernate中的`SchemaExport`工具来自动生成数据库表,以此来简化数据库设计过程,提高开发效率。 首先,我们需要了解Hibernate的逆向工程(Reverse Engineering)。在传统的开发流程中...
其中,最具吸引力的是它的`SchemaExport`和`SchemaUpdate`工具,这两个工具能够根据配置的实体类自动生成数据库的DDL脚本,或者直接在现有的数据库上更新表结构。此外,hibernate-extensions还支持动态代理,允许...
最新hibernate 版本5.2.11.final--最新hibe--最新hibernate 版本5.2.11.finalrnate 版本5.2.11.final--最新hibernate 版本5.2.11.final
6. **数据库表的生成**: 一旦映射文件准备好,开发者可以使用Hibernate的`SchemaExport`工具,依据映射文件生成或更新数据库表结构。这个GUI工具可能会包含一键生成表的功能,使整个过程更加便捷。 7. **逆向工程**...
1. **使用Hibernate的工具hbm2ddl根据你的对象建立数据库SchemaExport.doc** Hibernate的hbm2ddl工具能够根据实体类(即你的对象)和对应的映射文件(.hbm.xml)自动生成数据库模式。SchemaExport是这个工具的一个...
接着,`SchemaExport`类是Hibernate提供的工具类,用于处理数据库的创建、更新和验证。在这段代码中,`new SchemaExport(config)`创建了一个`SchemaExport`对象,`config`参数传递了数据库配置信息。`schemaExport....
2. **生成Hibernate配置文件**:使用Hibernate的SchemaExport工具,我们可以根据实体类生成数据库表结构,或者根据现有数据库结构生成映射文件。 3. **编译源代码**:确保所有Hibernate相关的类被正确编译。 4. **...
5. **更新数据库表**:在生成映射文件后,还可以结合Hibernate的SchemaExport工具生成或更新数据库表结构。 这样的自动化过程可以帮助开发者节省大量时间,并且减少人为错误。在实际开发中,例如使用Eclipse或...
本文将详细介绍如何利用 Hibernate 的 `SchemaExport` 类实现这一功能。 #### 二、准备工作 1. **环境搭建**: - **Java 环境**:确保安装了 Java 开发工具包 (JDK)。 - **Hibernate 库**:添加 Hibernate 相关...
6. **SchemaExport工具**:`org.hibernate.tool.hbm2ddl.SchemaExport`工具可用于根据`.hbm.xml`文件自动生成数据库表结构,简化了数据库初始化和维护工作。 #### 实践步骤详解 - **环境搭建**:首先,需确保已...
4. 使用工具或API生成数据库:有了映射文件,你可以使用Hibernate的`SchemaExport`工具或者编程方式执行`sessionFactory.createSchema()`方法来根据映射文件生成数据库表。这将在数据库中创建对应的表结构。 三、...
10. **工具与插件**:介绍了Hibernate提供的工具,如SchemaExport用于生成数据库表结构,Enhancer用于增强实体类,以及IDE集成插件等。 11. **最佳实践**:分享了在实际开发中使用Hibernate的一些最佳实践和注意...
2. **扩展Hibernate的SchemaExport工具**:Hibernate的SchemaExport类用于处理DDL生成。我们可以创建一个自定义的SchemaExport类,覆盖其generate方法,添加额外的逻辑来检查并插入version字段。这通常涉及到解析元...
Hibernate提供了自动架构生成工具,比如SchemaExport,这允许开发者根据实体映射自动创建数据库架构。这一功能通过定制映射文件来实现,对于快速原型设计或初始数据库搭建非常有用。 ### 事务和并发控制 事务是...
这可以通过解析数据库元数据来实现,比如使用`org.hibernate.tool.hbm2ddl.SchemaExport`工具生成HBM文件,然后反向工程生成Java实体。 4. **Criteria API和HQL的动态构建**:这些API允许在运行时根据条件动态构造...
Hibernate提供了一个名为`SchemaExport`的工具类,它可以用来从映射文件或注解生成数据库表。有两种主要的方法: 1. `create()`:这个方法会在数据库中创建所有定义的表,但不会删除已经存在的表。 2. `...
在实际应用中,开发者通常会在项目的初始化阶段运行这些SQL语句,例如在使用Spring的`SchemaExport`工具或者Hibernate的`hibernate.hbm2ddl.auto`配置属性时。这些语句可能包括创建表、设置约束、插入测试数据等操作...
Hibernate 提供了自动化模式和自定义模式,其中自动化模式(如 SchemaExport 工具)可以帮助开发者快速生成数据库模式,而自定义模式则允许用户根据具体需求调整映射文件。这种灵活性使得 Hibernate 能够适应各种...
15. **Hibernate工具**:介绍Hibernate的SchemaExport工具用于生成数据库结构,以及Enhancer工具对实体类进行增强。 16. **Hibernate与其他技术的整合**:如Spring框架的整合,以及与MyBatis、JPA等其他ORM框架的...