`
Janne
  • 浏览: 44046 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

使用properties创建hibernate配置文件

阅读更多
dialect_interface=org.hibernate.dialect.Oracle9Dialect
driver_class_interface=oracle.jdbc.OracleDriver
url_interface=jdbc:oracle:thin:@172.16.11.244:1521/orcl
username_interface=wolf_rphis
password_interface=wolf
 
hibernate工具
package com.hwt.util;

import java.util.Properties;

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

/**
 * Hibernate工具
 * @author liangdong
 *
 */
public class HibernateUtil{

	private static final ThreadLocal<Session> sessionThreadLocal = new ThreadLocal<Session>();
	private static Configuration configuration = new Configuration();
	private static org.hibernate.SessionFactory sessionFactory;

	/**
	 * 读取配置文件
	 */
	static {
		try {
			/* 设置hibernate参数 */
			setHibernateProperties(configuration);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取session
	 */
	public static Session getSession() throws HibernateException {
		Session session = (Session) sessionThreadLocal.get();

		if (session == null || !session.isOpen()) {
			if (sessionFactory == null) {
				rebuildSessionFactory();
			}
			session = (sessionFactory != null) ? sessionFactory.openSession() : null;
			sessionThreadLocal.set(session);
		}

		return session;
	}

	/**
	 * 重建session
	 *
	 */
	public static void rebuildSessionFactory() {
		try {
			/* 设置hibernate参数 */
			setHibernateProperties(configuration);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 关闭session
	 */
	public static void closeSession() throws HibernateException {
		Session session = (Session) sessionThreadLocal.get();
		sessionThreadLocal.set(null);
		if (session != null) {
			session.close();
		}
	}

	/**
	 * 设置Hibernate参数
	 * 
	 * @throws Exception
	 */
	public static void setHibernateProperties(Configuration configuration) throws Exception {
		/* 设置配置文件中参数到hibernate */
		final Properties extraProperties = new Properties();
		extraProperties.setProperty("hibernate.dialect",PropertiesUtil.getConfigParameter("DBInfo","dialect_pingtai"));
		extraProperties.setProperty("hibernate.connection.driver_class", PropertiesUtil.getConfigParameter("DBInfo","driver_class_pingtai"));
		extraProperties.setProperty("hibernate.connection.url", PropertiesUtil.getConfigParameter("DBInfo","url_pingtai"));
		extraProperties.setProperty("hibernate.connection.username", PropertiesUtil.getConfigParameter("DBInfo","username_pingtai"));
		//String passwordString=new String(StringEncryptUtil.aesDecrypt(StringEncryptUtil.parseHexStr2Byte(PropertiesUtil.getConfigParameter("password_wolf"))));
		extraProperties.setProperty("hibernate.connection.password", PropertiesUtil.getConfigParameter("DBInfo","password_pingtai"));
		extraProperties.setProperty("hibernate.show_sql", PropertiesUtil.getConfigParameter("DBInfo","show_sql"));
		extraProperties.setProperty("hibernate.format_sql", PropertiesUtil.getConfigParameter("DBInfo","format_sql"));
		configuration.addProperties(extraProperties);
		configuration.configure("hibernate-pingtai.cfg.xml"); // 路径可以改变
		//System.out.println(extraProperties.toString());
		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
				.applySettings(configuration.getProperties()).build();
		sessionFactory = configuration.buildSessionFactory(serviceRegistry);
	          
	}

}
 注意添加映射文件
  1.      config.addResource("demo/domain/User.hbm.xml");// 加载映射文件  
  2. // config.addClass(demo.domain.User.class); 另外一种加载方式 
    
分享到:
评论

相关推荐

    Hibernate配置文件加载后修改配置信息

    ### Hibernate配置文件加载后修改配置信息 在Java开发过程中,特别是在使用ORM框架如Hibernate时,开发者经常需要对配置文件中的数据库连接信息进行动态修改或加密处理。本文将详细介绍如何利用反射机制来修改已经...

    6 用Properties补充hibernate.cfg.xml配置

    在Hibernate的配置中,`hibernate.cfg.xml`文件是核心配置文件,用于设定数据库连接、实体类映射等关键参数。本文将探讨如何使用`Properties`类来补充`hibernate.cfg.xml`的配置,以实现更加灵活和模块化的设置。 ...

    Hibernate的配置文件

    在这个场景中,我们关注的是Hibernate的配置文件——`hibernate.cfg.xml`。这个文件是Hibernate应用的核心,它定义了数据源、SessionFactory、实体类映射等关键信息,使得Java对象可以直接与数据库进行交互。 首先...

    Hibernate核心配置文件对照表

    `hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接、缓存策略、事务管理等相关的重要参数。下面我们将详细探讨这个配置文件中的关键知识点。 1. **数据库连接配置** - `hibernate....

    hibernate配置文件

    本文将深入探讨Hibernate配置文件中的重要元素,帮助开发者更好地理解和使用Hibernate。 首先,我们来理解配置文件的基本结构。`hibernate.cfg.xml`通常位于项目的资源目录下,如src/main/resources。文件以XML格式...

    Hibernate 课件_配置文件详解

    ### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...

    hibernate的dtd 包含hibernate.properties

    在这个主题中,我们主要关注的是Hibernate的配置文件`hibernate.properties`以及它的DTD(Document Type Definition)文件,包括`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`。 首先,`...

    hibernate配置properties

    ### Hibernate配置Properties详解 在Java开发环境中,Hibernate作为一款优秀的对象关系映射(ORM)框架,为开发者提供了高效且简洁的方式来进行数据库操作。而在Hibernate的实际应用过程中,合理的配置显得尤为重要...

    struts hibernate sprint 经典实例 配置文件的设置

    2. **Hibernate配置文件**(hibernate.cfg.xml): - `session-factory`:配置数据库连接信息,包括数据库URL、用户名、密码、驱动类等。 - `mapping resources`:指定映射文件,如.hbm.xml文件,用于定义实体类与...

    在Hibernate中配置Proxool连接池

    在上述配置中,我们通过`hibernate.proxool.properties`指定了Proxool的配置文件路径,`hibernate.proxool.pool_alias`设置了连接池的别名,这个别名需要与Proxool配置文件中的alias一致。 接下来,我们需要创建...

    hibernate 数据源配置文件

    接下来,我们需要在Spring的配置文件(例如`applicationContext-data.xml`)中读取这些属性,并创建相应的数据源实例。示例代码如下: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...

    hibernate 配置 C3P0 连接池

    首先,在`hibernate.cfg.xml`或`hibernate.properties`文件中,我们需要指定使用C3P0作为连接池提供者。具体做法是在配置文件中添加或修改以下属性: ``` # 指定使用C3P0连接池 hibernate.connection.provider_...

    Hibernate 映射文件自动生成

    然而,手动编写这些映射文件可能会耗费大量时间,因此“Hibernate 映射文件自动生成”是一个非常实用的功能,它能够帮助开发者快速、准确地创建和维护这些映射文件。 【描述】虽然描述为空,但我们可以推测,这篇...

    使用 MyEclipse 插件创建 Hibernate + Struts 实例(二)

    5. **配置Hibernate**:在项目中创建Hibernate配置文件(hibernate.cfg.xml),指定数据库连接信息、实体类包路径等。还需要创建映射文件(.hbm.xml)以定义实体类与数据库表的映射。 6. **生成实体类**:利用...

    创建hibernate的连接池及封装bean类的方式(图解)

    ### 创建Hibernate的连接池及封装Bean类的方式 #### 一、引言 在Java开发中,Hibernate作为一种流行的ORM(对象关系映射)框架,被广泛应用于数据库操作中。通过使用Hibernate,开发者可以更加高效地进行数据库操作...

    Hibernate需要的所有的jar包

    你可能会在lib目录下找到log4j.jar文件,以及相关的配置文件log4j.properties或log4j.xml。 4. **slf4j**: Simple Logging Facade for Java (SLF4J) 提供一个接口,允许开发者在他们的应用中选择任意的日志框架。在...

    hibernate配置数据库连接池的三种方法.pdf

    为了使用 C3P0 连接池,我们需要在 Hibernate 配置文件(hibernate.cfg.xml)中添加以下配置: ``` &lt;property name="hibernate.c3p0.min_size"&gt;5 &lt;property name="hibernate.c3p0.max_size"&gt;20 &lt;property name="...

    Hibernate入门到精通

    核心配置文件(hibernate.properties)是用于配置 Hibernate 的核心配置信息的文件。该文件用于指定 Hibernate 的日志配置、缓存配置等。 Api 内置对象 Hibernate 提供了一些内置对象来帮助开发者快速地访问和操作...

    Hibernate配置文.pdf

    Hibernate的核心配置文件通常命名为`hibernate.properties`,该文件位于项目的src目录下。此文件主要用于定义数据库连接的相关参数,如: - `hibernate.dialect`:指定使用的数据库方言,例如`org.hibernate....

Global site tag (gtag.js) - Google Analytics