`
VaxVall
  • 浏览: 20802 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

工具类+静态代码实现Hibernate的配置

阅读更多
package hiber1;

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

public class HiberTool {
	static Configuration cfg = null;
	static SessionFactory sessionF = null;
	
	static {
		cfg = new Configuration();
		cfg.configure();
		sessionF = cfg.buildSessionFactory();
	}
	
	public static SessionFactory getSessionFactory() {
		return sessionF;
	}
}



由于静态代码块只会运行一次,因此可以节约运行资源.
由此,数据库的注入类也需要做一些变动:
package hiber1;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.jupiter.api.Test;

public class HibernateTest {
	@Test
	public void add() {
		//第一步:加载Hibernate核心配置文件
		Configuration cfg = new Configuration();
		//在src下找到*.cfg.xml文件
		cfg.configure();
		
		//第二步:创建SessionFactory对象
		//读取Hibernate核心配置文件内容,创建SessionFactory
		//在过程中,根据映射关系,在数据库中把表格创建
		//SessionFactory sessionF = cfg.buildSessionFactory();//SessionFactory类的示例很占用资源,一般全程只用一个对象
		
		SessionFactory sessionF = HiberTool.getSessionFactory();//(重点在此)使用静态代码块
		
		
		//第三步:使用对象sessionF创建session对象(类似于连接)
		Session session = sessionF.openSession();
		
		//第四步:开启事务
		Transaction tx = session.beginTransaction();
		
		//第五步:写具体的逻辑crud操作
		//演示:添加功能
		User user = new User();
		user.setUsername("小李");
		user.setPassword("250");
		user.setAddress("日本");
		session.save(user);//调用session方法实现添加
		
		
		
		//第六步:提交事务(太奇怪了,有了这句就无法通过测试,注销就好了,难道是因为我用的是oracle?)
		tx.commit();
		
		//第七步:关闭资源
		session.close();
		sessionF.close();//web项目中一般不关闭这个,因为用的是静态代码块,关闭后之后就无法重新使用了
		
		
		
		
	}

}
分享到:
评论

相关推荐

    用Maven搭建Spring+Spring MVC+Hibernate框架

    3. 设置Hibernate配置,创建实体类。 4. 构建Web应用目录结构,配置`web.xml`。 5. 编写业务逻辑和服务层,Controller和视图层代码。 通过这样的集成,开发者可以更专注于业务逻辑,而无需过多关注底层技术细节,...

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    - `src/main/java`:存放Java源代码的地方,通常会看到Spring配置类、服务层接口和实现、DAO层接口和实现等。 - `src/main/resources`:存放配置文件的地方,比如Spring的XML配置、Hibernate的实体映射文件(hbm.xml...

    jsp+Spring+hibernate 博客系统

    而`blog_1`可能包含了应用的源代码,如Java类文件、配置文件和其他非Web资源。 **总结** 这个"jsp+Spring+hibernate"博客系统展示了如何利用现代Java技术栈构建一个功能完善的Web应用。通过结合JSP的视图呈现、...

    搭建Struts2.1+Spring3.0+Hibernate3.3框架

    例如,在Struts.xml中声明Action类,Spring的bean配置中定义Action类的bean,Hibernate的配置文件中设置数据源和实体映射。 - 最后,确保所有依赖库被正确添加到项目的类路径中,以避免运行时找不到类的错误。 ...

    spring3+strust2+hibernate4

    1. **源代码**:包括Spring配置文件(如applicationContext.xml)、Struts2配置文件(struts.xml)、Hibernate配置文件(hibernate.cfg.xml),以及各个Action类、Service类、DAO类和实体类(Entity)的Java源码。...

    基于struts2+spring2+hibernate3的注册登陆

    但一个标准的Struts2+Spring2+Hibernate3项目通常包含以下部分:源代码(src目录),配置文件(如struts.xml、spring配置文件、hibernate配置文件),Web资源(Web-INF目录下的web.xml,以及其他静态资源如HTML、CSS...

    ext3+struts2+hibernate+spring的CRUD+分页

    总的来说,"ext3+struts2+hibernate+spring的CRUD+分页"组合为Java Web开发者提供了一个高效且功能强大的工具链,能够快速构建出具有数据管理功能的Web应用,同时具备良好的用户体验和可维护性。

    JAVA论坛系统源码(Struts 2+Hibernate+Spring实现)

    `java`目录下是Java代码,包括Struts 2的Action、Hibernate的实体类和Spring的配置和服务;`resources`存放配置文件,如Hibernate的映射文件、Spring的配置文件;`webapp`包含了Web应用的静态资源和视图页面。 7. *...

    spring3.2+strust2.3.4+hibernate4.2+mysql

    这个项目的核心功能是用户登录,因此,我们可以预期在源代码中会有一个处理用户认证的控制器类,使用Struts 2的Action接口,通过Spring管理的Service层调用Hibernate来查询和验证用户信息。同时,可能还会涉及到一些...

    ecside+struts2+spring2.5+hibernate3.2

    文件名"webapp"可能是指Web应用程序的根目录,通常包含Web-INF目录下的web.xml配置文件,以及静态资源(如HTML、CSS、JavaScript文件)和应用的Servlet类。 综上所述,这个项目采用了一个成熟的Java Web开发架构,...

    JSP+Struts+Hibernate办公自动化管理系统

    通过Hibernate的实体类和映射文件,开发者可以将Java对象直接转换为数据库中的记录,反之亦然,实现数据的透明访问。 **办公自动化管理系统的构成** 办公自动化管理系统通常包括以下几个核心模块: 1. 用户管理:...

    java+Spring+Hibernate整合的企业OA源码

    【标题】"java+Spring+Hibernate整合的企业OA源码"所代表的是一个使用Java编程语言,结合Spring框架和Hibernate持久层框架实现的企业级办公自动化(Office Automation,简称OA)系统的源代码。这样的系统通常用于...

    Spring+Hibernate工具类所有增删改查

    这些工具类通常包含了一系列静态方法,用于执行常见的数据库CRUD(创建、读取、更新、删除)操作。例如,它们可能包括了保存(insert)、更新(update)、删除(delete)和查询(select)数据的方法,这些方法可能是...

    Spring+SpringMVC+Hibernate整合 下载

    3. 配置Hibernate:配置数据库连接,定义实体类和映射文件,设置SessionFactory。 4. 编写Service和DAO层:实现业务逻辑和数据访问。 5. 测试:通过JUnit或其他测试工具验证功能的正确性。 了解并熟练掌握SSH整合,...

    Maven+Spring MVC +Hibernate Validate(服务端验证)

    这个项目展示了如何整合这些工具来实现高效的服务端数据验证。 **Maven** 是一个流行的项目管理和构建工具,它简化了Java项目的构建过程,通过管理依赖关系,自动化构建流程,并提供一套标准的项目结构。在本项目中...

    struts1.3+spring2.5+hibernate3.3 组合开发 annotation实现

    `src` 目录通常存放源代码,而 `WebRoot` 是 Web 应用的根目录,包含静态资源(如 HTML、CSS、JavaScript 文件)、WEB-INF 目录(存放 web.xml 配置文件和其他库)以及 Struts2 的动作配置文件(struts-config.xml ...

    Struts2+Spring2+Hibernate3 web 应用示例

    它提供了实体类、映射文件、会话工厂等机制,实现了对象的持久化。在SSH2中,Hibernate主要负责数据持久化层,与Spring集成后,可以方便地进行事务管理和数据访问。 在提供的压缩包文件中,`.classpath`、`.project...

    spring3+hibernate3+struts2实现简易后台菜单控制

    文件名称列表中的"src"目录通常是源代码存放的地方,包括Java类、配置文件等。"WebRoot"是Web应用的根目录,包含静态资源(如HTML、CSS、JavaScript)、JSP页面等。"dbscript"目录则可能包含数据库脚本,用于初始化...

    SpringMVC+Hibernate实现增删改

    项目中的springMVCnew可能包含SpringMVC的配置文件、Hibernate的配置文件、实体类、DAO和Service实现、以及相关的Controller类。根据文件结构解析和配置这些文件,即可运行并测试项目中的增删改功能。

    ext+Json+dwr+spring+hibernate整合项目实例与资源

    - 首先,设置Spring环境,配置DataSource、SessionFactory以及Hibernate的实体类。 - 然后,通过Spring的AOP和Transaction Management,实现事务管理和数据访问层的控制。 - 接着,集成DWR,配置DWR的Context和...

Global site tag (gtag.js) - Google Analytics