Hibernate数据库对象的创建与导出

Hibernate 与数据库的关系是ORM关系,对象映射数据库。

  那么如何通过对象对数据库进行各种对象的ddl与dml操作呢?

  数据库对象操作的〈database-object ../〉+ SchemaExport

  1、hibernate.cfg.xml


<?xml version="1.0" encoding="GBK"?>

<!-- 指定Hibernate配置文件的DTD信息 -->

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<!-- hibernate- configuration是连接配置文件的根元素 -->

<hibernate-configuration>

<session-factory>

......

<!-- 根据需要自动创建数据库:如果创建表,这里必须为create -->

<property name="hbm2ddl.auto">create</property>

<!-- 显示Hibernate持久化操作所生成的SQL -->

<property name="show_sql">true</property>

<!-- 将SQL脚本进行格式化后再输出 -->

<property name="hibernate.format_sql">true</property>

<!-- 罗列所有的映射文件 -->

<mapping resource="....../lovejk.hbm.xml"/>

</session-factory>

lt;/hibernate-configuration>

  2、lovejk.hbm.xml


<?xml version="1.0" encoding="gb2312"?>

<!-- 指定Hiberante3映射文件的DTD信息 -->

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<!-- hibernate-mapping是映射文件的根元素 -->

<hibernate-mapping>

<!-- 使用data-object元素定义数据库对象 -->

<database-object>

<!-- 定义创建数据库对象的语句 -->

<create>create table testjk(name varchar(256));</create>

<!-- 让drop元素为空,不删除任何对象 -->

<drop></drop>

<!-- 指定仅对MySQL数据库有效 -->

<dialect-scope name="org.hibernate.dialect.MySQLDialect"/>

<dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>

</database-object>

</hibernate-mapping>

  3、执行


public static void main(String[] args) throws Exception

{

//实例化Configuration,这行代码默认加载hibernate.cfg.xml文件

Configuration conf = new Configuration().configure();

//以Configuration创建SessionFactory

SessionFactory sf = conf.buildSessionFactory();

//      //创建SchemaExport对象

SchemaExport se = new SchemaExport(conf);

//      //设置输出格式良好的SQL脚本

se.setFormat(true);

//          //设置保存SQL脚本的文件名

se.setOutputFile("d:\\1.sql");

//      //输出SQL脚本,并执行SQL脚本

se.create(true, true);

sf.close();

}

  总结:简单粗暴!

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-17 03:29:32

Hibernate数据库对象的创建与导出的相关文章

hibernate 根据持久化类 创建数据库表的时候出现的错误如下,请大神帮忙解决?

问题描述 hibernate 根据持久化类 创建数据库表的时候出现的错误如下,请大神帮忙解决? 十二月 09, 2015 1:49:52 下午 org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata 信息: table not found: DIC_TAB 十二月 09, 2015 1:49:52 下午 org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata 信息:

创建及修改数据库对象

假如你所使用的数据库服务器是微软的SQL Server,也可以利用可视化的数据库工具(Visual Database Tools)可视地设计和修改数据库模式,并为Microsoft SQL Server6.5和Oracle7.3.3+数据库创建存储过程以及其他数据库对象,新增和浏览数据库的表格及察看数据,直观地为任何ODBC或OLE DB兼容的如据库创建SQL查询,应用微软的Visual Database工具来对数据库进行操作,只需项目中创建一个数据库连接,便可以操作数据库对象及查询数据库了.使

使用Transact-SQL在SQL Server中创建数据库对象

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   Adventure Works Cycles 的数据仓库中有几个非常大的表.为改善此数据的存储,您决定对几个跨文件组的表进行分区.这样您就可以控制基础磁盘存储. 先决条件 在开始此实验之前,您必须: 使用 Transact-SQL 在 Microsoft® SQL Server® 数据库中创建数据库对象的经验. 实验设置 实验场景 Adventure Works

java中Hibernate中的数据库对象详解

1.hibernate.cfg.xml  代码如下 复制代码 <!DOCTYPE hibernate-configuration PUBLIC         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuratio

Oracle数据库入门之DDL与数据库对象

数据库对象 常见:表:存放数据的基本数据库对象,由行(记录)和列(字段)组成 约束条件:执行数据校验,保证数据完整性的系列规则 视图:表中数据的逻辑显示 索引:根据表中指定的字段建立起来的顺序,用于提高查询性能 序列:一组有规律的整数值 同义词:对象的别名 命名:必须以字母开头.可以包含字母.数据.下划线.$.# 同一方案(用户)下的对象不能重名.不能使用Oracle的保留字 补充:Oracle数据库中的表分为用户定义的表和数据字典表 用户定义的表:用户自己创建并维护的一组表,包含了用户所需的信

oracle数据库中expdp和impdp导出导入

expdp和impdp是oracle从10g开始新增加的导出.导入功能.名称叫数据泵. expdp:Data Pump Export impdp:Data Pump Import 一.expdp.impdp和exp.imp的区别 expdp.impdp: 1.可以导入导出单个或多个数据库.用户(schema).表空间.表. 2.强大的数据过滤功能. 3.速度快. 4.不支持XMLType数据. exp.imp: 1.支持XMLType数据. 2.不支持FLOAT和DOUBLE数据类型. 3.功能

《Access 2007开发指南(修订版)》一一1.5 什么是数据库对象

1.5 什么是数据库对象 Access 2007开发指南(修订版) 正如前面所提及,Access的数据库由表.查询.窗体.报表.宏和模块组成.这些对象都有自己特定的功能.Access环境还包括好几个杂项对象,包括关系.数据库属性和导入/导出规格.有了这些对象,就可以创建功能强大的.用户友好的集成应用程序.图1.1所示的是Access的应用程序窗口.请注意,在"导航窗格"中列出的对象类别.以下各节对Access数据库的各个对象进行解释. 1.5.1 表:数据的仓库 表是应用程序的起点.不

SQL Server数据库重命名、数据导出的方法说明_MsSql

第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作 复制代码 代码如下: create proc killspid (@dbname varchar(20))         as         begin         declare     @sql     nvarchar(500),@temp   varchar(1000)     declare     @spid     int         set     @sql='declar

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.7 查找数据库对象

2.7 查找数据库对象 本方案讲述如何基于查找字符串通过PowerShell查找数据库对象. 2.7.1 准备 在这个练习中,我们将使用AdventureWorks2008R2查找名称中含有"Product"的SQL Server数据库对象. 为了清楚知道获得什么结果,在SSMS中运行如下脚本. USE AdventureWorks2008R2 GO SELECT * FROM sys.objects WHERE name LIKE '%Product%' -- filter tabl