Hibernate4环境搭建和HibernateUtil

本专题要讲述,Hibernate环境的搭建,本例使用Hibernate版本为:hibernate-release-4.3.8.Final。本例jar文件,提供下载路径为:
http://download.csdn.net/detail/ma_hoking/8380545。需要的读者,可以自行下载使用。

将下载后的文件hibernate-release-4.3.8.Final.zip解压缩,hibernate-release-4.3.8.Final\lib\required目录下的文件,就是环境需要的基本jar包。至此,我们就获得了所需要的jar文件。

创建Java项目Hibernate4Learn,将必须的jar文件导入到项目中。由于本例需要连接本地的MySQL数据库,所以需要引入新的jar文件mysql-connector-java-5.1.7-bin.jar。

【转载使用,请注明出处:http://blog.csdn.net/mahoking

首先说明,本机环境已经安装MySQL数据库,所以本文就不在着重说明其具体的安装步骤,读者可以参考此篇文章http://blog.csdn.net/mahoking/article/details/42921511

接下来介绍主配置文件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">  

<hibernate-configuration>

</hibernate-configuration>

配置使用Driver

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.url">jdbc:mysql://127.0.0.1:3306/mhc</property>

指定数据库使用的SQL方言

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

指定当程序运行时是否在控制台输出SQL语句。

当show_sql属性为true时,表示在控制台输出SQL语句,默认为false。建议在调试程序时设为true,发布程序之前再改为false,因为输出SQL语句会影响程序的运行速度。

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

配置hbm2ddl.auto,供可选选项有:

create 每次加载hibernate,重新创建数据库表结构

create-drop 加载hibernate时创建,退出是删除表结构

update 加载hibernate自动更新数据库结构

validate 加载hibernate时,验证创建数据库表结构

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

指定对象管理映射文件(*.hbm.xml)

<mapping resource="com/mahaochen/hibernate/domain/User.hbm.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">
<hibernate-configuration>
	<session-factory>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.url">jdbc:mysql://127.0.0.1:3306/mhc</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="show_sql">true</property>
		<property name="hbm2ddl.auto">update</property>
		<mapping resource="com/mahaochen/hibernate/domain/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

主配置文件介绍,接下来我们需要手动编写HibernateUtil类,来获取SessionFactory对象,并管理Session,如开启与关闭Session的操作。首先在此说明,Hibernate3与Hibernate4获取SessionFactory的方式有所不同。由于Configuration的buildSessionFactory()方法在Hibernate4已经过时,而是用了Configuration.buildSessionFactory(ServiceRegistry
serviceRegistry)方法。下面依次介绍Hibernate3Util和Hibernate4Util的具体实现。

Hibernate3Util

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

/**
 * 供Hibernate V3版 使用
 *
 * @author mahc
 *
 */
public class Hibernate3Util {

	private static SessionFactory sessionFactory;
	private static Session session;

	static {
		// 创建Configuration,该对象用于读取hibernate.cfg.xml,并完成初始化
		Configuration config = new Configuration();
		config.configure();
		sessionFactory = config.buildSessionFactory();
	}

	/**
	 * 获取SessionFactory
	 *
	 * @return
	 */
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public static Session getCurrentSession() {
		session = sessionFactory.openSession();
		return session;
	}

	public static void closeSession(Session session) {

		if (null != session) {
			session.close();
		}
	}
}

Hibernate4Util

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

/**
 * 供Hibernate V4.3.8版 使用
 *
 * @author mahc
 *
 */
public class Hibernate4Util {

	private static SessionFactory sessionFactory;
	private static Session session;

	static {
		// 创建Configuration,该对象用于读取hibernate.cfg.xml,并完成初始化
		Configuration config = new Configuration().configure();
		StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
				.applySettings(config.getProperties());
		StandardServiceRegistry ssr = ssrb.build();
		sessionFactory = config.buildSessionFactory(ssr);
	}

	/**
	 * 获取SessionFactory
	 *
	 * @return
	 */
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public static Session getCurrentSession() {
		session = sessionFactory.openSession();
		return session;
	}

	public static void closeSession(Session session) {

		if (null != session) {
			session.close();
		}
	}
}

【转载使用,请注明出处:http://blog.csdn.net/mahoking

时间: 2024-09-30 06:54:43

Hibernate4环境搭建和HibernateUtil的相关文章

spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明

一.准备工作 开始之前,先参考上一篇: struts2.3.24 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明 思路都是一样的,只不过把struts2替换成了spring mvc 二.不同的地方 工程目录及jar包: action包改成controller: 删除struts2 jar包,添加spring mvc包(已有的话,不需添加):     web.xml配置: 跟之前不同的地方是把struts2的过滤器替换成了一个se

SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样的搭建平台也需要有经验才可以,并不是说你会搭建一个开发平台然后公司就会用你搭建的开发平台,一个项目或者一个公司看中的也不是你可以搭出框架,而是在这个框架使用过程中出现的各种问题你可以解决掉. 也就是说呢,无论开发什么项目要做到稳定.环境稳定.开发成本稳定.技术稳定.换句话说就是"风险可控"

spring4.06 hibernate4.31 struts2.3.16 全注解MAVEN环境搭建

最近使用目录最新版本的SPRING.HIBERNATE.STRUTS使用MAVEN搭建了一个全注解的环境.记录一下 POM文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt

SpringMVC+Spring3+Hibernate4开发环境搭建

早期的项目比较简单,多是用JSP .Servlet + JDBC 直接搞定,后来使用 Struts1(Struts2)+Spring+Hibernate, 严格按照分层概念驱动项目开发,这次又使用 Spring MVC取代Struts来进行开发. MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下SpringMVC+Spring3+Hibernate4的开发环境搭建 先大致看一下项目结构: 具体的代码不再演示,主要是走了一个很平常的路线,mvc-servcie-dao-hibernat

struts2+Hibernate4+spring3+EasyUI环境搭建之一

SSHE环境搭建第一步:安装软件(经验:安装软件路径最好不要有空格.括弧.中文等特殊符号)1.Jdk72.tomcat73.maven34.MyEclipse10.7 破解及优化设置(设置本地安装jdk7+maven+tomcat7+常用插件)或eclipse+常用插件5.oracle+plsql或mysql+navicat 第二步:整合搭建1.myeclipse创建web工程 挑勾Standard Maven JEE Project; 创建完成工程后初始化设置: 检查项目编码:选中项目,按下组

SSH框架总结(框架分析+环境搭建+实例源代码下载)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是眼下较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的总体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

java:Hibernate框架(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态)

1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configurati

SSH框架总结(框架分析+环境搭建+实例源码下载)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

MyBatis基本环境搭建与MyBatisUtil

本文将介绍MyBatis的环境搭建,本例使用的MyBatis的版本为mybatis-3.2.8.jar.下载地址为:http://download.csdn.net/detail/ma_hoking/8380541.本例使用的数据库为MySQL数据.具体的安装操作请参考:http://blog.csdn.net/mahoking/article/details/42921511. [转载使用,请注明出处:http://blog.csdn.net/mahoking] 首先创建Java项目MyBat