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、执行 www.jx-jf.com

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

  {

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

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

  //以Configuration创建SessionFactory

  SessionFactory sf = conf.buildSessionFactory();

  // //创建SchemaExport对象 www.yzyedu.com

  SchemaExport se = new SchemaExport(conf);

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

  se.setFormat(true);

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

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

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

  se.create(true, true);

  sf.close();

  }

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

  1. Greenplum+Hadoop学习笔记-14-定义数据库对象之创建与管理模式

    6.3.创建与管理模式 概述:DB内组织对象的一种逻辑结构.一个DB内能够有多个模式.在未指定模式时默认放置在public中.能够通过"\dn"方式查看数据库中现有模式: test ...

  2. Greenplum中定义数据库对象之创建与管理模式

    创建与管理模式 概述:DB内组织对象的一种逻辑结构.一个DB内能够有多个模式.在未指定模式时默认放置在public中.能够通过"\dn"方式查看数据库中现有模式. testdw=# ...

  3. oracle数据库表空间创建&导入&导出

    1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...

  4. MySQL笔记(二)数据库对象的创建和管理

    学校用 sqlserver ,记录数据移植到 mysql 过程中的一些问题(对应数据类型,主键外键等). 索引: 查看数据的物理路径 查看表相关的信息(SHOW CREATE TABLE.DESC) ...

  5. oracle(创建数据库对象)

    1 --创建数据库 2 --1.SYSDBA系统权限 3 startup:--启动数据库. 4 shutdown:--关闭数据库. 5 alter database[mount]|[open]|[ba ...

  6. Oracle数据库对象_同义词

    同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...

  7. Hibernate映射文件创建和删除触发器,存储过程等数据库对象

    创建表,触发器,和存储过程等数据库对象,这里一定要用create 在hibernate.cfg.xml文件中

  8. Hibernate连接mysql数据库并自动创建表

    天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...

  9. 使用Myeclipse为数据表创建hibernate实体对象

    hibernate是orm框架的一种,orm即Object Relational Mapping,对象映射关系,其主要作用是将数据库(mysql,mssql,oracle)的对象转换为具体编程语言(如 ...

随机推荐

  1. yui datatable动态修改行号

    相关函数 getRecord  :YAHOO.widget.Record getRecord ( row ) For the given identifier, returns the associa ...

  2. http://blog.163.com/db_teacher/blog/static/194540298201110723712407/

    实验(七).第五章 数据库完整性 2011-11-07 14:37:12|  分类: 默认分类 |  标签: |字号大中小 订阅     一.实验目的 1.熟悉通过SQL语句对数据进行完整性控制 2. ...

  3. ruby迭代起基础

    “循环”会用在程序中的各种地方.而在循环的地方善用“迭代器”,则是熟练进行Ruby程序设计的重要关键. 不过,迭代器确实有比较抽象的地方,语法也有点怪异(尤其是yield的用法),光是依靠文字说明.看 ...

  4. RAM区间最值

    RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就 ...

  5. puppet report import

    把Puppet报告导入Puppet Dashboard 现在Dashboard正在运行,而我们需要确保它能够获取Puppet报告.完成这项工作有几种方法,开始的时候都是用Rake任务导入旧报告.在/u ...

  6. Flask 安装 Ubuntu 14.04

    学习文档: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world 中文版学习文档 开源中国版: ...

  7. 非常全面的Linux知识点总结

    $1 我的Linux需求 Linux博大精深.我只在此讨论一些我对线上Linux机器维护人员的基本需求,比如装机,加硬盘,配网络.只讨论CentOS 6,或者类似的RHEL,当然Ubuntu也可以此类 ...

  8. C++ —— 库函数的 语法解析

    1.__declspec 用法总结 链接:http://blog.chinaunix.net/uid-24517893-id-2749061.html 详解2:http://www.01yun.com ...

  9. FLEX 图片拷贝

    在用FLEX做GIS相关的开发的时候,遇到一个问题.因为是监控类的系统,所以需要要求地图上的ICON的实时更新,从而会出现重复加载的情况.就是重复请求相同的图片用做背景,尤其是在加载的ICON较多的时 ...

  10. Unity3D——窗体介绍

    这是本人第一次的Unity的博客,主要还是依据雨松MOMO的视频来进行的,由于感觉视频比較直观,对于入门比較快,再加上自己有对应的编程基础,如今看书的话效率不高,所以先看几个视频了解一下大体的流程,感 ...