`

利用Hibernate的配置反向生成数据库-转载

阅读更多
利用Hibernate配置文件生成数据库


转载自:http://tzylwl.iteye.com/blog/1153626

目前很多人使用Hibernate作为持久层,如果我们已经写了配置文件poweracl.hbm.xml,则不必再费劲写SQL的DDL。除了利用工具 SchemaExport之外,还可以编写程序来自动初始化数据库,并且生成SQL DDL。
1.Hibernate配置 文件hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
    <session-factory>
        <!--让hb在运行时显示实际执行的sql语句 -->
       <property name="show_sql">true</property>
       <!-- 使显示的sql格式化-->
       <property name="format_sql">true</property>
        <property name="connection.username">root</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibtest</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="connection.password">netjava</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    
  <!-- 指明user这个pojo类的映射文件的路径 -->
        <mapping resource="com/hibtest/poweracl.hbm.xml" />
      
    </session-factory>

</hibernate-configuration>注意:(1)JDBC驱动为com.mysql.jdbc.Driver,可以根据所使用的库而更换。
   (2)dialect 为数据库方言,根据所使用数据库不同而不同。这里是Mysql。
   (3)jdbc.fetch_size和 jdbc.batch_size过小会降低性能,这里是建议设置。
  (4)mapping文件根据文件所在路径而不同。这里是 放在WEB-INF/classes/com/hibtest/目录下。
  


  
2.数据库映射配置poweracl.hbm.xml



  (2)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping>
    <class name="com.hibtest.user" table="user" discriminator-value="W">
       <id name="loginname" type="string">
           <column name="loginname" sql-type="char(16)" not-null="true"></column>
           <generator class="assigned"></generator>
       </id>
       <property name="password" type="string">
           <column name="password" sql-type="varchar(20)"></column>
       </property>
       <property name="name" type="string">
           <column name="name" sql-type="varchar(20)"></column>
       </property>
       <property name="email" type="string">
           <column name="eamil" sql-type="varchar(60)"></column>
       </property>
       <property name="modified" type="date">
             <column name="modifier"></column>
       </property>
       <property name="creater" type="date">
             <column name="creater"></column>
       </property>
       <property name="lastlogin" type="date">
              <column name="lastlogin"></column>   
       </property>
    </class>
</hibernate-mapping>  
说明:具体的poweracl.hbm.xml要根据数据库表而设置,这里只是列举一个user表。

3.初始化数据库类

package com.hibtest;

import java.io.File;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

/**//**
* <p/> vedadou
* Date: 2004-02-25
* Time: 9:40:15
*/
public class InitDB {
static Session session;

public static void main(String[] args){
       Configuration config = null;
       Transaction tx = null;
       try { 
       //生成表时,不需要启动服务器,不过需要先把数据库实例建好
       config = new Configuration().configure(new File("E:/javaWeb2/yiwu/WebRoot/WEB-INF/hibernate.cfg.xml"));
       System.out.println("Creating tables...");
       SchemaExport schemaExport = new SchemaExport(config);
       schemaExport.create(true, true);
       System.out.println("Table created.");
       SessionFactory sessionFactory = config.buildSessionFactory();
       session = sessionFactory.openSession();
       tx = session.beginTransaction();
       tx.commit();
     
       } catch (HibernateException e){
       e.printStackTrace();
       try {
       tx.rollback();
       } catch (HibernateException e1) {
       e1.printStackTrace();
       }
       } finally {
     
       }
       }
     
}
分享到:
评论

相关推荐

    Eclipse数据库hibernate反向生成数据库类

    Eclipse数据库hibernate反向生成数据库类 在本篇文章中,我们将详细介绍如何使用Eclipse中的Hibernate插件反向生成数据库实体类。首先,我们需要安装Hibernate Tools,下载地址为...

    Hibernate 3.2反向生成数据库文件

    在提供的"WebRoot/info"文件夹中的"Hibernate反向生成数据库表.doc"文档,应该详细介绍了以上操作流程,建议仔细阅读以掌握具体步骤。如果你在使用过程中遇到任何问题,可以参考Hibernate的官方文档或在线社区寻求...

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    本篇文章将详细讲解如何使用Hibernate通过配置文件反向生成数据库的所有配置文件,以及涉及的相关步骤和技术要点。 首先,Hibernate的反向工程(Reverse Engineering)功能可以帮助开发者从现有的数据库中生成实体...

    hibernate反向生成数据库程序

    "hibernate反向生成数据库程序"是指通过Hibernate框架,从已有的数据库结构生成对应的Java实体类和映射文件,这样可以简化数据库与Java对象之间的交互。下面将详细介绍这个过程以及提供的代码片段。 首先,我们需要...

    根据hibernate反向生成数据库的java代码

    "根据Hibernate反向生成数据库的Java代码"这一主题涉及到的主要知识点包括Hibernate的逆向工程、实体类生成、数据库元数据以及Java持久化接口。 1. Hibernate逆向工程: Hibernate的逆向工程工具,也被称为...

    hibernate反向生成数据库表

    利用hibernate的逆向工程生成数据库表

    hibernate反向生成数据库表.doc

    《使用Hibernate反向生成数据库表》 在Java后端开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作。利用Hibernate,开发者可以将Java类与数据库表进行映射,使得数据库操作更加面向对象。...

    eclipse 配置 hibernate tools 反向生成 pojo类 注解

    现在你可以使用Hibernate Tools反向生成POJO类了: 1. 在Eclipse的Package Explorer或Project Explorer中,右键点击你想生成POJO类的包名,选择“New” &gt; “Other…”。 2. 在弹出的对话框中,展开“Hibernate”...

    hibernate自动生成数据库文件

    综上所述,Hibernate自动生成数据库文件涉及到ORM设计、Hibernate Tools的使用、配置文件的编写、Java注解的理解以及数据库操作的最佳实践等多个方面。掌握这些知识点有助于高效地利用Hibernate进行数据库开发。

    myeclipse与hibernate―反向生成实体类和DAO

    MyEclipse与Hibernate反向生成实体类和DAO MyEclipse是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架...

    eclipse hibernate 反向生成带注解的实体类-步骤说明--详细

    ### Eclipse Hibernate 反向生成带注解的实体类——步骤详解 #### 一、创建数据库管理器 在开始之前,我们需要确保已经安装了Eclipse IDE,并且具备基本的数据库操作能力。下面详细介绍如何在Eclipse中创建数据库...

    Hibernate在eclipse中反向生成

    在实际开发过程中,为了提高效率,往往会利用工具来帮助我们自动生成一部分代码,比如通过 Hibernate 工具来进行反向生成。 #### 二、Hibernate Tools 插件安装 在 Eclipse 中使用 Hibernate 的反向生成功能之前,...

    eclipse由数据库反向生成hibernate实体类(图解).doc

    在Eclipse中实现数据库反向生成Hibernate实体类的过程主要包括数据源配置与实体类生成两大步骤。 ##### 1. 数据源配置 **第一步**:首先需要打开Eclipse中的数据连接配置界面。可以通过Eclipse的菜单栏进行操作:...

    Middlegen-Hibernate-r5,hibernate-extensions-2.1.3

    【Middlegen】是Hibernate的一款元数据生成工具,它能够自动生成Hibernate的配置文件,包括.hbm.xml映射文件和Java持久化类。Middlegen通过反向工程从现有的数据库模式创建这些文件,大大简化了开发者的工作,减少了...

    hibernate反向生成实体类及CRUD操作教学视频

    【hibernate反向生成实体类及CRUD操作教学视频】是针对Java开发中的一个重要框架——Hibernate进行深入学习的资源。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作,通过将Java...

    Myeclipse自动生成Hibernate配置并对数据库进行增删查改测试

    7. **实体类映射**:通过Hibernate反向工程(Hibernate Reverse Engineering),可以将数据库表转换为Java实体类。选择表,指定生成的类路径和包名,以及数据访问对象(DAO)和持久化对象(POJO)。 8. **ID生成器*...

    myeclipse中hibernate的反向工程

    3. **启动反向工程向导**: 通过MyEclipse的菜单或快捷方式启动Hibernate反向工程向导。 4. **配置映射选项**: 在向导中选择要映射的表,配置实体类生成的位置以及映射文件的命名规则等。 5. **执行反向工程**: 完成...

    Hibernate反向工程详细步骤

    本文将详细介绍如何利用MyEclipse进行Hibernate反向工程生成实体类的步骤。 #### 二、准备工作 在开始进行Hibernate反向工程之前,我们需要确保已经具备以下条件: 1. **Java开发环境**:包括JDK安装与配置。 2. ...

    Hibernate反向生成EJB注解

    在给定的场景下,我们讨论的是如何使用Hibernate反向工程生成包含EJB注解的实体类。 首先,我们需要创建一个Web项目,这是构建基于Java的Web应用程序的基础。在MyEclipse这样的集成开发环境中,可以方便地创建和...

    用myeclipse自动生成hibernate配置文件

    通过以上步骤,利用MyEclipse的自动生成功能,我们可以快速地搭建起一个基于Hibernate的Java Web项目,大大提高了开发效率。同时,这也为我们提供了学习和理解Hibernate配置文件、Java Bean类和映射文件结构的机会。

Global site tag (gtag.js) - Google Analytics