`
- 浏览:
253019 次
- 性别:
- 来自:
北京
-
HibernateSessionFactory 工具类
java 代码
- 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
org.hibernate.SessionFactory sessionFactory;
-
public
static
Session currentSession()
throws
HibernateException {
- Session session = (Session) threadLocal.get();
-
if
(session ==
null
|| !session.isOpen()) {
-
if
(sessionFactory ==
null
) {
-
try
{
- cfg.configure(CONFIG_FILE_LOCATION);
- sessionFactory = cfg.buildSessionFactory();
- }
catch
(Exception e) {
- System.err.println(
"%%%% Error Creating SessionFactory %%%%"
);
- e.printStackTrace();
- }
- }
- session = (sessionFactory !=
null
) ? sessionFactory.openSession():
null
;
- threadLocal.set(session);
- }
-
return
session;
- }
-
public
static
void
closeSession()
throws
HibernateException {
- Session session = (Session) threadLocal.get();
- threadLocal.set(
null
);
-
if
(session !=
null
) {
- session.close();
- }
- }
-
private
HibernateSessionFactory() {
- }
- }
java 代码
- public
class
DAOTool {
-
public
Object load (Object object,Integer id) {
- Session session = HibernateSessionFactory.currentSession();
-
return
session.load(object.
class
, id);
- }
-
public
Object get (Object object ,Integer id) {
- Session session = HibernateSessionFactory.currentSession();
-
return
session.get(object.
class
, id);
- }
-
public
List find(String hql) {
- Session session = HibernateSessionFactory.currentSession();
-
return
session.createQuery(hql).list();
- }
-
public
Serializable save (Object obj) {
- Session session = HibernateSessionFactory.currentSession();
-
return
session.save(obj);
- }
-
public
void
update(Object obj) {
- Session session = HibernateSessionFactory.currentSession();
- session.update(obj);
- }
-
public
void
update(String hql, Object obj) {
- Session session = HibernateSessionFactory.currentSession();
- session.update(hql, obj);
- }
-
public
void
delete(Object obj) {
- Session session = HibernateSessionFactory.currentSession();
- session.delete(obj);
- }
-
public
void
delete(String hql, Object obj) {
- Session session = HibernateSessionFactory.currentSession();
- session.delete(hql, obj);
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
HibernateSessionFactory.java
Session s= HibernateSessionFactory.getSession(); 就是Hibernate的工具java类
在`HibernateSessionFactory.java`这个文件中,我们可能看到对上述过程的封装,例如创建`SessionFactory`的静态方法,以及提供会话的获取和关闭功能。这样的封装有助于代码的整洁和复用。 在实际应用中,`...
在这个“hibernate的大部分的工具类”压缩包中,我们很可能会找到一系列帮助简化Hibernate操作的实用工具类。这些工具类通常包括对数据操作的辅助方法、空值检查、分页处理以及HQL查询的通用分页功能。 首先,让...
生成HibernateSessionFactory工具类(HibernateUtil) ===利用Myeclipse根据表生成实体类和映射文件=== g.进入DB Browser窗口,找到数据表 h.数据表右键,选择Hibernate reverse Engin... i.选择要生成的文件hbm....
4. **配置与初始化**:SessionFactory的创建通常在应用启动时进行,需要读取Hibernate配置文件(如hibernate.cfg.xml)并加载实体类信息。正确配置SessionFactory是使用getCurrentSession()的前提。 5. **异常处理*...
`HibernateUtil`工具类就是对Hibernate框架功能的一种封装,简化了对数据库的操作。 在`HibernateUtil`工具类中,常见的方法有以下几类: 1. **初始化SessionFactory**: SessionFactory是Hibernate的核心组件,它...
本文将详细讲解如何在Spring 3.2.3版本中配置SessionFactory,以便整合Hibernate 4.2.2,实现对数据库操作的高效管理。SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的...
hibernate开发的工具类,封装的sessionFactory,session等
本篇将详细介绍一个基于Hibernate封装的增删改查工具类,该工具类整合了util、comm.util以及beanutils等库,旨在提高开发效率,降低代码复杂度,方便开发者快速地获取session和sessionFactory。 首先,让我们理解...
通过Hibernate生成工具,开发者可以快速地自动生成与数据库表对应的Java实体类、配置文件以及DAO层代码,极大地提高了开发效率。 安装该插件的过程非常简单。首先,你需要将压缩包解压,确保得到三个文件夹。这些...
`HibernateSessionFactory` 类是Hibernate应用中常见的一个工具类,用于管理和提供与当前线程相关的Session实例。让我们详细了解一下`HibernateSessionFactory`类中的关键方法和其背后的原理。 1. **配置和初始化...
本文将详细讲解Hibernate工具,包括`hibernate.cfg.xml`配置文件和`HibernateSessionFactory.java`类在Hibernate中的重要角色。 **1. hibernate.cfg.xml配置文件** `hibernate.cfg.xml`是Hibernate应用的基础配置...
3. **SessionFactory和Session**:SessionFactory是Hibernate的顶级工厂类,它负责创建Session对象。Session是与数据库交互的接口,用于执行CRUD(创建、读取、更新、删除)操作。 4. **Query和Criteria API**:...
在完成上述步骤后,系统将自动生成 HibernateSessionFactory.java 和 hibernate.cfg.xml 文件。然后,在 MyEclipse Datebase Explorer 中选中所有表,点击右键,选择 Hibernate Reverse Enginnering,选中目录存放...
5. **整合到项目**:将生成的Java类和映射文件引入到你的项目中,配置Hibernate的SessionFactory,然后就可以在业务代码中使用这些实体类进行数据库操作了。 标签中的“源码”可能指的是在使用Hibernate Tools的...
《Hibernate 5.0.9:深度解析与应用实践》 Hibernate,作为Java领域中备受推崇的对象关系映射(ORM)框架,自诞生以来就极大地简化了数据库操作,提升了开发效率。本文将深入探讨Hibernate 5.0.9版本的核心特性、...
### Hibernate与JDBC:概述与对比 #### 一、JDBC简介 ...总结而言,Hibernate和JDBC都是Java应用与数据库交互的重要工具,各有优劣。选择使用哪个取决于具体项目的需求、团队的技术背景以及预期的性能目标等因素。
首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`Session`对象是与数据库进行交互的接口,类似于JDBC中的Connection。`HibernateSessionFactory`通常在应用启动时初始化一次...