`
wangtong40
  • 浏览: 253932 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HibernateSessionFactory 工具类

    博客分类:
  • ORM
阅读更多
java 代码
  1. public   class  HibernateSessionFactory {   
  2.      private   static  String CONFIG_FILE_LOCATION =  "/hibernate.cfg.xml" ;   
  3.      private   static   final  ThreadLocal threadLocal =  new  ThreadLocal();   
  4.      private   static   final  Configuration cfg =  new  Configuration();   
  5.      private   static  org.hibernate.SessionFactory sessionFactory;   
  6.      public   static  Session currentSession()  throws  HibernateException {   
  7.         Session session = (Session) threadLocal.get();   
  8.          if  (session ==  null  || !session.isOpen()) {   
  9.              if  (sessionFactory ==  null ) {   
  10.                  try  {   
  11.                     cfg.configure(CONFIG_FILE_LOCATION);   
  12.                     sessionFactory = cfg.buildSessionFactory();   
  13.                 }  catch  (Exception e) {   
  14. System.err.println( "%%%% Error Creating SessionFactory %%%%" );   
  15.                     e.printStackTrace();   
  16.                 }   
  17.             }   
  18. session = (sessionFactory !=  null ) ? sessionFactory.openSession():  null ;   
  19.             threadLocal.set(session);   
  20.         }   
  21.          return  session;   
  22.     }   
  23.      public   static   void  closeSession()  throws  HibernateException {   
  24.         Session session = (Session) threadLocal.get();   
  25.         threadLocal.set( null );   
  26.          if  (session !=  null ) {   
  27.             session.close();   
  28.         }   
  29.     }   
  30.      private  HibernateSessionFactory() {   
  31.     }   
  32. }   
java 代码
  1. public   class  DAOTool {   
  2.      public  Object load (Object object,Integer id) {   
  3.         Session session = HibernateSessionFactory.currentSession();   
  4.          return  session.load(object. class , id);   
  5.     }   
  6.      public  Object get (Object object ,Integer id) {   
  7.         Session session = HibernateSessionFactory.currentSession();   
  8.          return  session.get(object. class , id);   
  9.     }   
  10.      public  List find(String hql) {   
  11.         Session session = HibernateSessionFactory.currentSession();   
  12.          return  session.createQuery(hql).list();   
  13.     }   
  14.      public  Serializable save (Object obj) {   
  15.         Session session = HibernateSessionFactory.currentSession();   
  16.          return  session.save(obj);   
  17.     }   
  18.      public   void  update(Object obj) {   
  19.         Session session = HibernateSessionFactory.currentSession();   
  20.         session.update(obj);   
  21.     }   
  22.      public   void  update(String hql, Object obj) {   
  23.         Session session = HibernateSessionFactory.currentSession();   
  24.         session.update(hql, obj);   
  25.     }   
  26.      public   void  delete(Object obj) {   
  27.         Session session = HibernateSessionFactory.currentSession();   
  28.         session.delete(obj);   
  29.     }   
  30.      public   void  delete(String hql, Object obj) {   
  31.         Session session = HibernateSessionFactory.currentSession();   
  32.         session.delete(hql, obj);   
  33.     }   
  34. }   
分享到:
评论

相关推荐

    HibernateSessionFactory.java

    HibernateSessionFactory.java

    HibernateSessionFactory.java Hibernate使用的整合的工具文件

    Session s= HibernateSessionFactory.getSession(); 就是Hibernate的工具java类

    使用 HibernateSessionFactory 类

    在`HibernateSessionFactory.java`这个文件中,我们可能看到对上述过程的封装,例如创建`SessionFactory`的静态方法,以及提供会话的获取和关闭功能。这样的封装有助于代码的整洁和复用。 在实际应用中,`...

    hibernate的大部分的工具类

    在这个“hibernate的大部分的工具类”压缩包中,我们很可能会找到一系列帮助简化Hibernate操作的实用工具类。这些工具类通常包括对数据操作的辅助方法、空值检查、分页处理以及HQL查询的通用分页功能。 首先,让...

    15hibernate_day04_pm_v1.zip_K.

    生成HibernateSessionFactory工具类(HibernateUtil) ===利用Myeclipse根据表生成实体类和映射文件=== g.进入DB Browser窗口,找到数据表 h.数据表右键,选择Hibernate reverse Engin... i.选择要生成的文件hbm....

    新Hibernate SessionFactory().getCurrentSession()猫腻

    4. **配置与初始化**:SessionFactory的创建通常在应用启动时进行,需要读取Hibernate配置文件(如hibernate.cfg.xml)并加载实体类信息。正确配置SessionFactory是使用getCurrentSession()的前提。 5. **异常处理*...

    Hibernate工具类

    `HibernateUtil`工具类就是对Hibernate框架功能的一种封装,简化了对数据库的操作。 在`HibernateUtil`工具类中,常见的方法有以下几类: 1. **初始化SessionFactory**: SessionFactory是Hibernate的核心组件,它...

    spring配置sessionFactory(spring3.2.3+hibernate4.2.2)

    本文将详细讲解如何在Spring 3.2.3版本中配置SessionFactory,以便整合Hibernate 4.2.2,实现对数据库操作的高效管理。SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的...

    hibernate工具类

    hibernate开发的工具类,封装的sessionFactory,session等

    封装了一个Hibernate增删改查的工具类

    本篇将详细介绍一个基于Hibernate封装的增删改查工具类,该工具类整合了util、comm.util以及beanutils等库,旨在提高开发效率,降低代码复杂度,方便开发者快速地获取session和sessionFactory。 首先,让我们理解...

    Eclipse plugin (hibernate生成工具)

    通过Hibernate生成工具,开发者可以快速地自动生成与数据库表对应的Java实体类、配置文件以及DAO层代码,极大地提高了开发效率。 安装该插件的过程非常简单。首先,你需要将压缩包解压,确保得到三个文件夹。这些...

    hibernate常用方法集合

    `HibernateSessionFactory` 类是Hibernate应用中常见的一个工具类,用于管理和提供与当前线程相关的Session实例。让我们详细了解一下`HibernateSessionFactory`类中的关键方法和其背后的原理。 1. **配置和初始化...

    hibernate工具

    本文将详细讲解Hibernate工具,包括`hibernate.cfg.xml`配置文件和`HibernateSessionFactory.java`类在Hibernate中的重要角色。 **1. hibernate.cfg.xml配置文件** `hibernate.cfg.xml`是Hibernate应用的基础配置...

    hibernate 开发工具包

    3. **SessionFactory和Session**:SessionFactory是Hibernate的顶级工厂类,它负责创建Session对象。Session是与数据库交互的接口,用于执行CRUD(创建、读取、更新、删除)操作。 4. **Query和Criteria API**:...

    自动生成hibernate映射文件和实体类

    在完成上述步骤后,系统将自动生成 HibernateSessionFactory.java 和 hibernate.cfg.xml 文件。然后,在 MyEclipse Datebase Explorer 中选中所有表,点击右键,选择 Hibernate Reverse Enginnering,选中目录存放...

    用Hibernate自带的工具生成映射文件

    5. **整合到项目**:将生成的Java类和映射文件引入到你的项目中,配置Hibernate的SessionFactory,然后就可以在业务代码中使用这些实体类进行数据库操作了。 标签中的“源码”可能指的是在使用Hibernate Tools的...

    hibernate5.0.9

    《Hibernate 5.0.9:深度解析与应用实践》 Hibernate,作为Java领域中备受推崇的对象关系映射(ORM)框架,自诞生以来就极大地简化了数据库操作,提升了开发效率。本文将深入探讨Hibernate 5.0.9版本的核心特性、...

    Hibernate and JDBC

    ### Hibernate与JDBC:概述与对比 #### 一、JDBC简介 ...总结而言,Hibernate和JDBC都是Java应用与数据库交互的重要工具,各有优劣。选择使用哪个取决于具体项目的需求、团队的技术背景以及预期的性能目标等因素。

    hibernate操纵实体对象

    首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`Session`对象是与数据库进行交互的接口,类似于JDBC中的Connection。`HibernateSessionFactory`通常在应用启动时初始化一次...

Global site tag (gtag.js) - Google Analytics