`

SSH整合中hibernate的配置方式

 
阅读更多
hibernate的配置方式有两种
第一种为:编写hibernate.cfg.xml,并且为每个映射类编写.hbm.xml文件
,hibernate.cfg.xml文件的内容如下:
<hibernate-configuration>
	<session-factory>
		<property name="myeclipse.connection.profile">JDBC for MySQL</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/demo</property>
		<property name="connection.username">root</property>
		<property name="connection.password">admin</property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<mapping resource="com/hibernate/bean/User.hbm.xml" />
	</session-factory>
</hibernate-configuration>

如果有新的类映射文件(即.hbm.xml文件)要加入进来,只需只需添加一个<mapping/>属性即可,配置如上面的User.hbm.xml
其中,hibernate.cfg.xml文件位置的指定由HibernateSessionFactory类来指定,其中这个类的代码如下:
package com.hibernate.util;

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

@SuppressWarnings("unchecked")
public class HibernateSessionFactory {
	
	private static String CONFIG_FILE_LOCATION ="/hibernate.cfg.xml";
	private static final ThreadLocal threadLocal = new ThreadLocal();
	private static final Configuration cfg = new Configuration();
	private static SessionFactory sessionFactory;
	
	public static Session currentSession() throws HibernateException{
		
		Session session = (Session)threadLocal.get();
		if(session == null){
			if(sessionFactory == null){
				try{
					cfg.configure(CONFIG_FILE_LOCATION);
					sessionFactory = cfg.buildSessionFactory();
				}catch(Exception e){
					System.out.println("=====Error Creating SessionFactory======");
					e.printStackTrace();
				}
			}
			session = sessionFactory.openSession();
			threadLocal.set(session);
		}
	return session;	
	}
	
	public static void closeSession()throws HibernateException{
		
		Session session = (Session)threadLocal.get();
		threadLocal.set(null);
		if(session!=null){
			session.close();
		}
	}
}


第二种为:直接在applicationContext.xml文件中指定数据库连接和每个类映射文件的具体位置,代码如下:
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName">
			<value>org.gjt.mm.mysql.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://localhost:3306/demo</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>admin</value>
		</property>
	</bean>


	<!-- 配置hibernate -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="mappingResources">
			<list>
				<value>com/ssh/beans/User.hbm.xml</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
		    </prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
	</bean>

如果有新的类映射文件要加入进来,只需要在<list></list>标签中加上一个<value></value>标签,并且在中间填入类映射文件的具体位置,像User.hbm.xml文件一样
分享到:
评论

相关推荐

    ssh整合带hibernate配置文件

    在这个场景下,"ssh整合带hibernate配置文件"的标题表明我们要讨论如何在SSH架构中配置Hibernate,特别是在Spring框架内进行事务管理。 首先,让我们了解SSH框架的核心组件: 1. **Spring**:这是一个全面的Java...

    SSH中Hibernate所需基本jar包

    在SSH项目中,正确配置Hibernate的jar包是确保数据库操作顺利进行的关键步骤。 该压缩包“SSH中Hibernate所需基本jar包”包含了运行Hibernate所必需的库文件,这些文件通常会包括以下几类: 1. **Hibernate核心库*...

    ssh 整合 struts hibernate spring

    在SSH整合中,Spring主要负责事务管理和数据源配置。 SSH整合的关键步骤包括: 1. 引入相关库:确保项目中包含了Struts、Hibernate和Spring的JAR文件。 2. 配置Spring:创建spring-context.xml文件,配置Bean,...

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    在"SSH整合及测试亲测可用"的项目中,这三大框架被集成在一起,以实现高效的后端逻辑处理。通常,Struts2负责处理HTTP请求,调用业务逻辑;Hibernate则负责数据库操作;而Spring则作为整体的粘合剂,管理它们之间的...

    SSH整合hibernate完整jar包

    SSH整合Hibernate是一个常见的Java Web开发框架组合,它结合了Struts、Spring和Hibernate三大开源框架的优势,用于构建高效、灵活且可维护的Web应用程序。在这个整合中,Hibernate作为持久层框架,负责对象关系映射...

    SSH 整合原代码 包括2种方式:注解&xml;配置 (已测试, 原创)

    本资源提供的是SSH整合的原代码,涵盖了通过注解和XML配置两种方式进行整合的方法,并且已经过测试,确保其可行性和原创性。以下是关于SSH整合及这两种配置方式的详细知识: 1. **Struts框架**:Struts是一个基于...

    SSH整合jar包-spring5.0+hibernate5.1+struts2.5

    标题中的"SSH整合jar包-spring5.0+hibernate5.1+struts2.5"意味着这是一个已经打包好的集合,包含了这三个特定版本的框架所需的jar文件。这些jar文件是开发者在项目中引用SSH框架时需要的,确保了它们之间的兼容性和...

    SSH整合笔记和配置文

    这通常通过`@ComponentScan`注解或者XML配置中的`&lt;context:component-scan&gt;`标签来实现。 - **示例**:`&lt;context:component-scan base-package="com.eduoinfo.finances.bank.web"&gt;` 2. **属性配置**:为了方便配置...

    ssh中hibernate5的整合

    文件`spring04`可能包含了Spring整合Hibernate的示例配置或代码,可以作为学习和参考的资源。在实际开发中,需要根据具体项目需求进行调整和优化,例如使用JPA或Querydsl进行更高级的查询,或者引入MyBatis等其他...

    ssh整合的一些配置文件

    4. **Hibernate配置**: - `hibernate.cfg.xml`: Hibernate的主配置文件,包含数据库连接信息、JDBC驱动、缓存设置等。 - `实体类的hbm.xml文件`: 用于定义数据库表映射的XML文件,描述了对象关系映射的细节。 5....

    ssh整合ssh整合ssh整合

    在SSH整合中,Hibernate负责数据的CRUD操作,通过配置实体类和映射文件,可以方便地将数据库表与Java对象对应起来。 3. Struts:是基于MVC(模型-视图-控制器)设计模式的Web应用框架,主要负责处理HTTP请求,控制...

    SSH整合Jar包

    在SSH整合中,Hibernate的配置文件(hibernate.cfg.xml)定义了数据源、实体类、会话工厂和持久化映射。虽然配置文件为空,但开发者需要添加数据库连接信息、JDBC驱动类、实体类的映射文件引用以及其他的ORM设置。 ...

    ssh(sevrlet+spring+hibernate)整合所需jar包

    SSH整合是Java Web开发中的一种常见模式,它结合了Spring框架、Struts2框架和Hibernate持久化框架,以实现高效、灵活的业务逻辑处理和数据管理。以下将详细阐述SSH整合涉及的关键知识点。 1. Spring框架:Spring是...

    SSH框架整合中hibernate框架所需要的配置文件

    本文将详细讲解在SSH整合中,Hibernate框架所需要的配置文件及其重要性。 首先,`hibernate.cfg.xml`是Hibernate的核心配置文件,它定义了数据库连接参数、实体类的映射路径等关键信息。以下是一些关键配置项的解释...

    SSH配置视频Hibernate3.1

    在SSH整合过程中,通常会使用Spring的DataSource来管理数据库连接,然后配置Hibernate的SessionFactory,最后将SessionFactory注入到Struts的Action中,以便在业务逻辑中执行持久化操作。视频教程可能详细演示了如何...

    ssh 整合 hibernate jar

    总之,SSH整合Hibernate jar是一个复杂但高效的方式,通过这些框架的协作,可以构建出高度模块化、可维护的大型企业级应用。理解每个框架的核心概念以及它们之间的交互,对于Java Web开发者来说至关重要。

    ssh整合架包 hibernate版本为3

    5. 配置文件(如spring配置文件、struts配置文件、hibernate配置文件) 6. 可能还包括示例代码或者测试项目,帮助开发者理解如何将这三个框架集成在一起 在实际开发中,SSH整合可以大大提高开发效率,减少代码重复...

    ssh 整合配置 及 jar包

    在SSH整合中,Spring负责管理所有组件的生命周期,包括Hibernate的数据源、事务管理以及业务层和服务层的对象。 3. **Hibernate**:作为持久层框架,Hibernate简化了数据库操作,通过ORM(对象关系映射)技术将Java...

    SSH整合jar包

    SSH整合jar包是一个集合了所有在Java开发中用于Spring、Struts和Hibernate(SSH)集成应用所需的库文件的压缩包。SSH是Java企业级开发中非常流行的一种框架组合,它能够帮助开发者快速构建高效、可维护的企业级Web...

    SSH整合方式二:将hibernate的配置交给Spring管理

    在传统的Hibernate配置中,我们会在`hibernate.cfg.xml`文件中设定数据库连接、实体映射等信息。而在SSH整合中,这部分配置会被移到Spring的配置文件中。例如: ```xml ...

Global site tag (gtag.js) - Google Analytics