`
dengyll
  • 浏览: 93330 次
社区版块
存档分类
最新评论

Hibernate环境搭建续----工具类

 
阅读更多

搭建好环境之后,为了避免过多的重复,可以建立工具类,以便更好的复用。

第一个(ExportDB):程序入口类,加载配置文件,生成数据库表

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

/**
 * 将hbm生成ddl
 * @author Administrator
 *
 */
public class ExportDB {

	public static void main(String[] args) {
		
		//默认读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		
		SchemaExport export = new SchemaExport(cfg);
		export.create(true, true);
	}
}

第二个(HibernateUtils):工具类,读取相应的配置文件,建立Session管理工厂

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {

	private static SessionFactory factory;
	
	static {
		try {
			//读取hibernate.cfg.xml文件
			Configuration cfg = new Configuration().configure();
			
			//建立SessionFactory
			factory = cfg.buildSessionFactory();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static Session getSession() {
		return factory.openSession();
	} 
	
	public static void closeSession(Session session) {
		if (session != null) {
			if (session.isOpen()) {
				session.close();
			}
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return factory;
	}
}
有了上面的程序入口类和上篇环境搭建里提到的配置文件,在只需要写你需要的实体类和实体类对应的配置文件,即可成功导出相应的数据表。
例如:导出用户表的例子

a、用户实体类:

import java.util.Date;

public class User {

	private String id;
	
	private String name;
	
	private String password;
	
	private Date createTime;
	
	private Date expireTime;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Date expireTime) {
		this.expireTime = expireTime;
	}
}

b、用户对应的配置文件(User.hbm.xml),和用户实体类在同级文件目录下

<?xml version="1.0"?>
<!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.bjpowernode.hibernate.User">
		<id name="id">
			<generator class="uuid"/>
		</id>
		<property name="name"/>
		<property name="password"/>
		<property name="createTime"/>
		<property name="expireTime"/>
	</class>
</hibernate-mapping>

c、在配置文件(hibernate.cfg.xml)加入下面这句代码

<mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/>

最后执行ExportDB类,生成的表如下图所示:



使用工具类进行单元测试,例如:SessionTest测试类

import java.util.Date;

import junit.framework.TestCase;

import org.hibernate.Session;
import org.hibernate.Transaction;

public class SessionTest extends TestCase {

	public void testSave1() {
		Session session = null;
		Transaction tx = null;
		try {
			//拿到session
			session = HibernateUtils.getSession();
			//开启事务
			tx = session.beginTransaction();
			
			//给实体赋值
			User user = new User();
			user.setName("李四");
			user.setPassword("123");
			user.setCreateTime(new Date());
			user.setExpireTime(new Date());
			
			//保存数据到数据库
			session.save(user);
			
			//提交事务
			tx.commit();
			
		}catch(Exception e) {
			//打印堆栈信息
			e.printStackTrace();
			//事务回滚
			if (tx != null) {
				tx.rollback();
			}
		}finally {
			//关闭session
			HibernateUtils.closeSession(session);
		}
	}
执行后将会有一条数据存入user表里,如下图:



配置文件里的具体的配置信息以后的博客里会陆续的逐一介绍。


分享到:
评论

相关推荐

    hibernate 环境搭建

    **hibernate 环境搭建** 在Java开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需编写大量的SQL语句。本教程将指导你如何搭建一个基本...

    hibernate,hibernate3,Middlegen-Hibernate-r5

    而Middlegen则是Hibernate的一个辅助工具,用于自动生成数据库模式到Java实体类的映射代码,极大地提高了开发效率。 一、Hibernate概述 Hibernate的核心功能在于将Java对象和关系数据库的数据表进行映射,通过对象...

    hibernate环境搭建已经对应存储过程调用

    本文将深入探讨如何搭建Hibernate环境并进行存储过程的调用。 首先,让我们了解什么是Hibernate。Hibernate是一个开源的ORM框架,它允许Java开发者将Java类与数据库表进行映射,通过对象的方式来操作数据库。它提供...

    hibernate-extensions和Middlegen-Hibernate

    使用hibernate-extensions和Middlegen-Hibernate,开发者可以快速搭建起基于Hibernate的项目,大大缩短项目的启动时间。例如,当你已经有了一个完整的数据库结构,只需要运行Middlegen-Hibernate,就可以得到一套...

    Hibernate实战----创建RedSaga论坛

    【描述】"Step1..."表明该实战教程可能从基础的环境搭建和项目初始化开始,逐步指导读者完成论坛的各个功能模块。在实际的步骤中,可能会涵盖以下内容: 1. **环境配置**:首先,我们需要安装并配置Java开发环境...

    hibernate环境搭建的基础材料

    总结,搭建Hibernate开发环境涉及多个步骤,从安装JDK到配置项目、数据库连接,再到实体类、SessionFactory的创建,以及事务管理和测试。提供的"基础材料"文件应包含所有必要的资源和指导,帮助开发者顺利完成环境...

    在Eclipse中搭建hibernate项目环境步骤

    在 Eclipse 中搭建 Hibernate 项目环境步骤 在本文中,我们将详细介绍如何在 Eclipse 中搭建 Hibernate 项目环境的步骤。Hibernate 是一个流行的 Java 持久层框架,提供了对数据库的访问和操作功能。通过本文,读者...

    hibernate环境搭建时所需所有jar包

    在搭建Hibernate环境时,确保正确地引入所有必需的JAR包至关重要。以下是一份详细的步骤和相关知识点,解释如何配置这些JAR包以成功搭建Hibernate环境。 1. **Hibernate核心库**:Hibernate的核心库包含所有基本...

    Hibernate环境搭建案例

    **Hibernate环境搭建案例** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者可以更加专注于业务逻辑而不是底层的数据访问。本案例将详细讲解如何进行...

    MyEclipse8.5下SSH2开发环境搭建--图解.rar

    Spring框架包括IoC容器、数据访问/集成、Web、AOP、工具类和支持多种持久化策略的能力,如JDBC、ORM(对象关系映射)等。 **Hibernate** 是一个强大的ORM框架,它简化了Java与数据库之间的交互。Hibernate通过将...

    第一次搭建hibernate环境

    **标题:“第一次搭建Hibernate环境”** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者能够用Java对象来处理数据库事务。搭建Hibernate环境是开始使用该框架的第...

    hibernate-release-5.0.7 全包

    这一特性大大提升了开发效率,使得开发者能快速搭建起基于Hibernate的数据库访问层。 1. **hibernate-core-5.0.7.Final.jar**:这是Hibernate的核心库,包含所有基本的ORM功能,如实体管理、事务处理、查询服务等。...

    hibernate-validator-annotation-processor-5.1.0.CR1.zip

    这对于开发者来说非常方便,可以快速搭建基本的代码结构,避免手动编写无实际业务逻辑的简单实现类。通过在项目的pom.xml文件中配置这个插件,开发者可以指定要生成默认实现的接口,插件会在构建过程中自动完成这个...

    Struts2+Hibernate开发环境搭建

    通过以上步骤,一个基本的Struts2+Hibernate开发环境就搭建完成了。在实际开发中,还需要根据项目需求进行更深入的定制和优化,例如加入Spring框架进行依赖注入,或者使用MyBatis进行更灵活的SQL操作。

    hibernate环境搭建及第一程序

    【标题】:“Hibernate环境搭建及第一个程序” 在Java开发领域,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需编写大量的SQL语句。本教程将指导...

    hibernate搭建环境超详细解

    ### Hibernate项目环境搭建详解 #### 一、理解Hibernate与项目环境搭建的重要性 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用中简化数据库访问。它提供了强大的映射工具和代码生成机制,使得开发...

    hibernate-distribution-3.5.0-Final-dist所需JAR

    `hibernate-tools.jar`包含了Hibernate的逆向工程工具,可以自动生成实体类和映射文件,便于快速开发。 5. **日志库JAR**: 为了进行日志输出,Hibernate通常会依赖如`log4j.jar`这样的日志库,帮助开发者调试和...

    hibernate--1.搭建hibernate环境

    本教程将详细讲解如何搭建Hibernate开发环境,以便进行高效、便捷的数据库交互。 首先,我们需要理解Hibernate的核心概念。Hibernate是一个对象关系映射(ORM)工具,它的主要作用是将Java对象与数据库表之间的映射...

    hibernate工具类大全

    这个“Hibernate工具类大全”压缩包包含了一系列资源,可以帮助开发者更高效地搭建和使用Hibernate框架。以下是对这些资源的详细解释: 1. **jar包**: Hibernate的核心功能依赖于一组jar包,包括`hibernate-core....

    hibernate环境搭建所用包

    10. `hibernate-tools.jar`(可能遗漏在提供的列表中,但通常在Hibernate环境搭建中会用到):这个库包含了Hibernate的反向工程和代码生成工具,可以帮助开发者快速地从数据库生成Java实体类和映射文件。 以上就是...

Global site tag (gtag.js) - Google Analytics