`
gaosililn
  • 浏览: 73015 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ssh学习:hibernate环境配置及开发步聚

 
阅读更多

hibernate的开发环境配置以及开发步聚

一、开发环境配置:

1.下载:hibernate下载地址

2.配置:将hibernate-release-5.0.6.Final\lib\required下的jar包全部复制到项目的lib文件目录下并将数据库的jar包一起复制进去。将hibernate-release-5.0.6.Final\project\etc下的hibernate.cfg.xml、log4j.properties文件复制到src目录下面

二、开发步聚:

1.新建一个JavaBean类,并对属性实现get/set方法。

2.配置编写Xxx.hbm.xml文件

3.配置hibernate.cfg.xml文件

简单的实例:

bean类:

public class User implements Serializable {
	public int id;
	public String name;
	public int age;
//还有get/set方法
}

 Xxx.hbm.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<!-- name为对应的实体类 table为数据库的表名 -->
	<class name="com.usc.geowind.lilin.bean.User" table="user">
		<id name="id" column="id">
			<!-- 自增 -->
			<generator class="native"></generator>
		</id>
		<!-- name值为bean的属性,column为数据库的字段 -->
		<property name="name" column="name"></property>
		<property name="age" column="age"></property>
	</class>
</hibernate-mapping>

 hibernate.cfg.xml文件的配置:

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory>
		<!--配置mysql数据库连接参数 -->
		<!-- 指定数据库的方言 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
		<!-- 指定数据库所用的驱动 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<!-- 指定链接的数据库的url test为数据库的名字 -->
		<property name="hibernate.connection.url">jdbc:mysql:///test</property>
		<!-- 用户名 -->
		<property name="hibernate.connection.username">root</property>
		<!-- 密码 -->
		<property name="hibernate.connection.password">mysql</property>
		<!-- 根据需求自动创建数据库表 -->
		<property name="hbm2ddl.auto">update|create</property>
		<!-- 罗列所需的影射文件 -->
		<mapping resource="com/usc/geowind/lilin/bean/User.hbm.xml" />
		<!-- c3p0配置 -->
		<!-- 配置C3P0连接池属性 -->
		<!-- 此句必须加,很重要 不添加无法使用c3p0 -->
		<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
		<!-- 设置连接池的最大数量 -->
		<property name="hibernate.c3p0.max_size">10</property>
		<!-- 设置连接池的最小数量 -->
		<property name="hibernate.c3p0.min_size">5</property>
		<!-- 设置连接池链接数据库的时限 -->
		<property name="hibernate.c3p0.timeout">5000</property>
		<property name="hibernate.c3p0.max_statements">10</property>
	</session-factory>

</hibernate-configuration>

 这样就能简单的流程也能顺利的运行期=起来了。

简单的单元测试所实现的链接测试:

 @Test
	 public void createTable() {
	 Configuration configuration = new Configuration().configure();
	 SchemaExport schemaExport = new SchemaExport(configuration);
	 // 前一Boolean是表示是否打印在控制台
	 // 后一Boolean是表示是否删掉之前的重建表
	 schemaExport.create(true, true);
	 }

	@SuppressWarnings("deprecation")
	@Test
	public void add() {
		// 实例化Configuration对象
		Configuration configuration = new Configuration()
				// 默认加载.hibernate.cfg.xml文件
				.configure();
		// 通过configuration对象直接创建buildSessionFactory对象实例,但不提倡使用
		// SessionFactory buildSessionFactory =
		// configuration.buildSessionFactory();
		// 通过StandardServiceRegistryBuilder创建SessionFactory实例对象
		StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
				.applySettings(configuration.getProperties());
		ServiceRegistry build = ssrb.build();
		// 创建SessionFactory对象
		SessionFactory sessionFactory = configuration.buildSessionFactory(build);
		// SessionFactory打开并回去session对象实例
		Session session = sessionFactory.openSession();
		// 开启事务
		Transaction beginTransaction = session.beginTransaction();
		// 封装数据
		User user = new User();
		user.setAge(22);
		user.setName("gaosi");

		try {
			// 保存数据
			session.save(user);
			// 提交事务
			beginTransaction.commit();
		} catch (Exception e) {
			// 事务回滚
			beginTransaction.rollback();
		} finally {
			// 关闭并释放session资源
			session.close();
		}
	}
	

 线程绑定session:

通过getCurrentSession方法获取session对象,openSession方法获取对象比较:

前这方法获得的session对象:是根据当前线程去动态获取现有的session对象,而后者则是新建session对象;前者在事务提交活着回滚时候自动关闭,后者则要手动关闭,否则会连接池溢出。

1.在Hibernate.cfg.xml中添加属性:

<!-- 配置session绑定到当前线程上 -->
<!--本地事务-->
	<property name="hibernate.current_session_context_class">thread</property>
<!--全局事务-->
	<property name="hibernate.current_session_context_class">jba</property>

 

2.获取session对象:

//通过getCurrentSession方法获取session对象
	sessionFactory.getCurrentSession();

 

分享到:
评论

相关推荐

    ssh框架整合详细步骤(spring+struts2+hibernate)

    ### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...

    SSH配置视频Hibernate3.1

    SSH配置视频教程主要聚焦在整合三大开源框架Struts1.2、Spring2.0和Hibernate3.1上,这是Java Web开发中一个经典的MVC架构组合。这些框架各自扮演着不同的角色,共同构建了一个高效、灵活的应用开发环境。 首先,...

    基于IDEA的SSH项目之五:集成Hibernate----lib包

    在Java Web开发中,SSH(Struts2、Spring、Hibernate)是一个常见的框架组合,用于构建高效、可维护的Web应用程序。本教程将聚焦于如何在IntelliJ IDEA(简称IDEA)环境中集成Hibernate,以便利用其强大的对象关系...

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

    SSH,即Struts2、Hibernate和Spring的组合,是Java Web开发中的一种经典框架集成,用于构建企业级的MVC(Model-View-Controller)应用。这个整合旨在提供一个高效、灵活且可扩展的开发环境,使开发者可以专注于业务...

    Struts+Spring+Hibernate-SSH整合开发步骤

    下面将详细介绍在Eclipse环境下进行SSH整合开发的步骤。 1. **环境准备** - **JDK安装**:首先确保已安装Java开发环境,并配置好`JAVA_HOME`环境变量。 - **Eclipse IDE**:下载并安装支持Java EE的Eclipse版本,...

    struts spring hibernate ssh 三大框架集成详细步骤 手把手教你搭框架

    Struts、Spring、Hibernate,这三大框架是Java Web开发中的基石,它们的集成极大地提高了开发效率,降低了代码的复杂性。SSH(Struts + Spring + Hibernate)框架集成旨在实现MVC(Model-View-Controller)设计模式...

    搭建SSH开发环境(三大框架)

    **搭建SSH开发环境的步骤:** **步骤1:准备SSH框架** 从官方网站下载所需版本的Struts2、Hibernate和Spring框架的包。确保下载的版本与描述中的相符。 **步骤2:创建Web项目** 在MyEclipse中,新建一个Java EE ...

    SSH三大框架开发详细步骤

    SSH三大框架,即Spring、Hibernate和Struts2,是Java Web开发中常用的一套集成解决方案,主要用于构建企业级应用。本教程将详细讲解如何利用这三个框架进行开发,并实现CRUD(创建、读取、更新、删除)操作,帮助...

    ssh Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合jar包

    SSH框架是Java开发中常用的三大开源框架Struts2、Hibernate和Spring的组合,它们各自负责应用程序的不同层面,共同构建了一个高效、灵活的企业级应用开发环境。这个SSH整合jar包是针对Struts2.3.16.1、Hibernate...

    ssh 环境配置

    以下是对SSH环境配置的详细解析: 首先,我们来看看标题和描述中提到的SSH配置。SSH框架包括Struts2作为MVC(模型-视图-控制器)框架,Spring作为依赖注入和事务管理工具,以及Hibernate作为对象关系映射(ORM)...

    SSH项目框架搭建和配置

    SSH是Java开发中常见的一个企业级应用框架,它由三个组件组成:Struts、Spring和Hibernate。这个框架组合提供了一种高效且灵活的方式来构建Web应用程序。下面将详细讲解SSH框架的搭建和配置。 1. **Struts框架**: ...

    ssh环境配置

    这篇文档将详细介绍SSH框架的环境配置过程,旨在帮助初学者快速理解和掌握配置步骤。 首先,我们来了解SSH框架的基本概念: 1. **Struts2**:这是一个基于MVC设计模式的Java Web框架,负责处理HTTP请求并控制应用...

    SSH(Struts1+Spring+Hibernate)配置开发总结

    ### SSH(Struts1+Spring+Hibernate)配置开发总结 #### 一、开发环境与配置环境概述 本教程旨在提供一个详细的SSH(Struts1+Spring+Hibernate)框架组合配置指南,适用于初学者及具有一定经验的开发者。开发环境为...

    ssh,集成开发步骤,

    ### SSH(Struts+Hibernate+Spring)集成开发步骤详解 #### 一、SSH框架简介 SSH框架是指由Struts、Hibernate以及Spring三个开源框架组成的Java Web应用开发模式。这三个框架分别负责Web层、持久层和业务逻辑层,...

    SSH整合开发完整例子(Struts+spring+hibernate完整开发)

    2. **环境配置**:列出开发和运行所需的软件版本,如JDK、Tomcat、IDE等。 3. **部署步骤**:指导如何将项目部署到服务器上。 4. **核心技术详解**:详细介绍SSH整合的关键配置和使用方法。 5. **模块功能**:说明...

    ssh 整合 hibernate jar

    6. **整合步骤**:整合SSH通常涉及以下步骤:配置Struts 2的Action,定义Spring的Bean,配置Hibernate的SessionFactory,创建实体类和映射文件,以及在Web.xml中配置DispatcherServlet和Filter。 7. **最佳实践**:...

    SSH项目整合的步骤示例

    在提供的压缩包文件`T212_SSH`中,可能包含了上述步骤的示例代码和配置文件,通过查阅这些文件,可以更深入地学习和实践SSH项目的整合。在实际操作中,建议参照官方文档、教程或者相关博客进行详细学习,以便掌握每...

    SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例

    SSH(Struts2、Hibernate和Spring)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。本示例将重点介绍如何在Struts2.2、Hibernate3.6和Spring3.1集成环境下实现分页功能。 首先,Struts2...

Global site tag (gtag.js) - Google Analytics