package com.shuangyulin.Utils;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html }.
*/
public class HibernateUtil {
/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session.
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateUtil() {
}
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateUtil.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于jsp+ struts2客户管理系统学习版(源码+运行截图+演示视频).zip 一、内容概要:系统说明: (1)登录模块:验证用户身份。 (2)客户信息管理:可以对客户的信息进行维护。 (3)系统设置:对系统一些信息进行维护,如修改登录密码 系统开发环境: MyEclipse5.5 + Tomcat6.0 + mysql5.0 系统后台架构技术: struts 2 + hibernate 3 系统前台架构技术: div + css + ajax 二、适合人群:具备一定编程基础,准备毕业设计的同学 能学到什么:①如何实现客户管理系统系统,从数据库设计到系统实现全流程; ②如何去编写一个与之类似的毕业设计系统。 阅读建议: 1. 首先阅读需求了解系统的主要功能,涉及到的相关技术,以及设计的相关数据表 2 执行php_db.sql语句创建数据库 3 导入项目,运行项目,这是一个前后端不分离的项目,前端采用JSP,将项目放在Tomcat容器中即可运行
资源推荐
资源详情
资源评论
收起资源包目录
基于jsp+ struts2客户管理系统学习版(源码+运行截图+演示视频).zip (237个子文件)
CustomerDAO.class 3KB
GetCustomerInfo.class 2KB
HibernateUtil.class 2KB
CustomerAction.class 2KB
UserDAO.class 2KB
HibernateTest.class 2KB
UserAction.class 2KB
LoginAction.class 1KB
EncodeingFilter.class 1KB
Customer.class 1KB
User.class 951B
.classpath 2KB
style.css 2KB
login.css 1KB
desk.css 841B
about.css 725B
customer.css 649B
system.css 649B
Thumbs.db 119KB
Thumbs.db 93KB
Thumbs.db 34KB
Thumbs.db 16KB
.DS_Store 6KB
t_customer.frm 9KB
t_user.frm 8KB
TopTitle.gif 62KB
desk2.gif 7KB
background.gif 5KB
ico08.gif 2KB
ico28.gif 2KB
ico29.gif 2KB
ico43.gif 1KB
ico30.gif 1KB
error_b.gif 1KB
ico07.gif 1KB
ico03.gif 1KB
ico01.gif 1KB
ico02.gif 1KB
ico05.gif 1KB
ico51.gif 1KB
window.gif 1KB
ico25.gif 1KB
ico11.gif 1KB
ico12.gif 1KB
ico26.gif 1KB
ico04.gif 1KB
ico10.gif 1KB
ico27.gif 1KB
ico24.gif 1KB
ico35.gif 1KB
ico09.gif 1KB
ico44.gif 1KB
closed.gif 1KB
ico13.gif 1KB
yesmoney.gif 1KB
help.gif 1KB
dialog_mc.gif 1KB
ico06.gif 1KB
ico38.gif 1019B
ico16.gif 937B
up.gif 874B
down.gif 874B
up2.gif 850B
down2.gif 850B
ico54.gif 780B
ico40.gif 753B
icon_query.gif 687B
icon_alert.gif 680B
ico21.gif 477B
ico23.gif 472B
dialog_closebtn_over.gif 441B
ico15.gif 434B
ico55.gif 415B
ico46.gif 399B
ico45.gif 391B
dialog_closebtn.gif 388B
open.gif 366B
ico47.gif 364B
ico20.gif 353B
ico18.gif 322B
ico17.gif 303B
ico50.gif 295B
ico49.gif 290B
ico53.gif 285B
ico00.gif 274B
ico52.gif 272B
ico56.gif 270B
ico14.gif 264B
ico48.gif 261B
desktop.gif 258B
ico39.gif 255B
ico22.gif 250B
ico42.gif 246B
ico19.gif 240B
ico37.gif 238B
menu_img_4.gif 212B
menu_img_1.gif 211B
menu_img_5.gif 210B
ico34.gif 205B
ico32.gif 203B
共 237 条
- 1
- 2
- 3
资源评论
码农飞哥
- 粉丝: 14w+
- 资源: 1911
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 11月美宝莲专卖店背柜完稿740mmX400mm
- 通过 stdio 进行简单(但高效)的进程间通信,从 Node.js 运行 Python 脚本.zip
- STM32F030F4P6-LOCK+OLED
- 11月美宝莲专卖店grab&go完稿 grab&go-o.ai
- 2023-04-06-项目笔记 - 第三百二十七阶段 - 4.4.2.325全局变量的作用域-325 -2025.11.24
- 章节2:编程基本概念之python对象的基本组成和内存示意图
- 适用于 Raspberry Pi 的 Adafruit 库代码.zip
- 章节2:编程基本概念之python程序的构成
- 适用于 Python 的 LINE 消息 API SDK.zip
- 宝塔面板安装及关键网络安全设置指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功