利用Hibernate配置文件生成数据库
目前很多人使用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("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 {
}
}
}
始化之前,应该先手工创建一个空数据库,然后再执行InitDB程序
分享到:
相关推荐
Eclipse数据库hibernate反向生成数据库类 在本篇文章中,我们将详细介绍如何使用Eclipse中的Hibernate插件反向生成数据库实体类。首先,我们需要安装Hibernate Tools,下载地址为...
在提供的"WebRoot/info"文件夹中的"Hibernate反向生成数据库表.doc"文档,应该详细介绍了以上操作流程,建议仔细阅读以掌握具体步骤。如果你在使用过程中遇到任何问题,可以参考Hibernate的官方文档或在线社区寻求...
本篇文章将详细讲解如何使用Hibernate通过配置文件反向生成数据库的所有配置文件,以及涉及的相关步骤和技术要点。 首先,Hibernate的反向工程(Reverse Engineering)功能可以帮助开发者从现有的数据库中生成实体...
"hibernate反向生成数据库程序"是指通过Hibernate框架,从已有的数据库结构生成对应的Java实体类和映射文件,这样可以简化数据库与Java对象之间的交互。下面将详细介绍这个过程以及提供的代码片段。 首先,我们需要...
"根据Hibernate反向生成数据库的Java代码"这一主题涉及到的主要知识点包括Hibernate的逆向工程、实体类生成、数据库元数据以及Java持久化接口。 1. Hibernate逆向工程: Hibernate的逆向工程工具,也被称为...
利用hibernate的逆向工程生成数据库表
现在你可以使用Hibernate Tools反向生成POJO类了: 1. 在Eclipse的Package Explorer或Project Explorer中,右键点击你想生成POJO类的包名,选择“New” > “Other…”。 2. 在弹出的对话框中,展开“Hibernate”...
《使用Hibernate反向生成数据库表》 在Java后端开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作。利用Hibernate,开发者可以将Java类与数据库表进行映射,使得数据库操作更加面向对象。...
综上所述,Hibernate自动生成数据库文件涉及到ORM设计、Hibernate Tools的使用、配置文件的编写、Java注解的理解以及数据库操作的最佳实践等多个方面。掌握这些知识点有助于高效地利用Hibernate进行数据库开发。
在Eclipse中实现数据库反向生成Hibernate实体类的过程主要包括数据源配置与实体类生成两大步骤。 ##### 1. 数据源配置 **第一步**:首先需要打开Eclipse中的数据连接配置界面。可以通过Eclipse的菜单栏进行操作:...
MyEclipse与Hibernate反向生成实体类和DAO MyEclipse是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架...
7. **实体类映射**:通过Hibernate反向工程(Hibernate Reverse Engineering),可以将数据库表转换为Java实体类。选择表,指定生成的类路径和包名,以及数据访问对象(DAO)和持久化对象(POJO)。 8. **ID生成器*...
【hibernate反向生成实体类及CRUD操作教学视频】是针对Java开发中的一个重要框架——Hibernate进行深入学习的资源。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作,通过将Java...
在实际开发过程中,为了提高效率,往往会利用工具来帮助我们自动生成一部分代码,比如通过 Hibernate 工具来进行反向生成。 #### 二、Hibernate Tools 插件安装 在 Eclipse 中使用 Hibernate 的反向生成功能之前,...
本文将详细介绍如何利用MyEclipse进行Hibernate反向工程生成实体类的步骤。 #### 二、准备工作 在开始进行Hibernate反向工程之前,我们需要确保已经具备以下条件: 1. **Java开发环境**:包括JDK安装与配置。 2. ...
这篇教程将详细介绍如何将这三个框架与Direct Web Remoting (DWR)进行整合,以及如何根据Pojo(Plain Old Java Object)对象反向生成数据库表。 **SSH框架详解:** 1. **Spring**:Spring 是一个全面的后端应用框架...
3. **启动反向工程向导**: 通过MyEclipse的菜单或快捷方式启动Hibernate反向工程向导。 4. **配置映射选项**: 在向导中选择要映射的表,配置实体类生成的位置以及映射文件的命名规则等。 5. **执行反向工程**: 完成...
《使用Hibernate进行数据库表反向生成Bean的详细指南》 在Java开发中,尤其是在使用ORM框架如Hibernate时,从数据库表反向生成Bean是常见的需求。这样可以节省手动编写Java对象(Bean)的时间,提高开发效率。本篇...
新建Hibernate反向生成实体类工程.zip"中,我们主要探讨的是如何利用SSH(Struts2、Spring、Hibernate)框架结合Maven构建工具以及Bootstrap前端框架,来创建一个基于Hibernate的Java Web项目,并通过Hibernate的...
3. **工具支持**:很多IDE,如Eclipse、IntelliJ IDEA等,都有集成的Hibernate反向工程插件,用户可以通过图形界面配置数据库连接、选择需要反向工程的表,然后生成相应的Java源代码。 4. **配置文件**:在进行反向...