package com.softeem.jingdong.util;
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;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java学习 SSM架构,是三层结合所成的框架,分别是Spring、SpringMVC、MyBatis所组成 SpringMVC:视图层,界面层;负责接收请求,显示处理结果,管理Controller控制器对; Spring:业务层,管理service,dao,工具类对象;依赖注入来管理各层,面向切面编程管理事务,日志和权限 MyBatis:持久层;访问数据库;基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来 1、Spring (1)基本概念 Spring是一个开源开发框架,是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。 spring主要用来开发java应用,构建J2EE平台的web应用。其核心就是提供一种新的机制管理业务对象及其依赖关系 (2)spring的优点 容器:spring是一个容器,包含并管理对象的生命周期和配置。可以配置每个bean如何被创建,基于一个可配置原型prototype,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例。 支持AOP:spring提供对AOP的支持,它允许将一些通用任务
资源推荐
资源详情
资源评论
收起资源包目录
基于java实现仿京东商城电商系统项目设计与实现源码 (260个子文件)
xieyi.bmp 20KB
zhuce.bmp 16KB
login.bmp 10KB
xinlang.bmp 2KB
douban.bmp 2KB
renren.bmp 2KB
kaixin.bmp 2KB
QQ.bmp 2KB
wangyi.bmp 1KB
GoodsAction.class 4KB
OrderAction.class 4KB
UsersAction.class 3KB
OrderBean.class 3KB
HibernateUtil.class 2KB
LoginCookieFilter.class 2KB
GoodsBean.class 2KB
GoodsDaoImpl.class 2KB
ShoppingCarAction.class 2KB
ShoppingCarBean.class 2KB
UsersDaoImpl.class 2KB
UsersBean.class 1KB
EncodingFilter.class 1KB
OrderServiceImpl.class 1KB
GoodsServiceImpl.class 1KB
ServiceFactory.class 1KB
OrderDaoImpl.class 1KB
UsersServiceImpl.class 1KB
ShoppingCarServiceImpl.class 831B
DaoFactory.class 820B
GoodsService.class 478B
GoodsDao.class 466B
UsersService.class 297B
UsersDao.class 295B
OrderService.class 237B
ShoppingCarService.class 223B
OrderDao.class 186B
.classpath 3KB
org.eclipse.wst.jsdt.ui.superType.container 49B
pshow20120508.css 75KB
base.css 54KB
base1.css 29KB
purchase1.css 23KB
shoppingcart1.css 20KB
common1.css 13KB
orderInfo1.css 8KB
passport1.css 6KB
passport.css 6KB
regist001.css 4KB
regist00.css 4KB
o1.gif 47KB
logo.gif 5KB
logo0000.gif 4KB
logo00001.gif 4KB
f_icp0001.gif 960B
f_icp000.gif 960B
gb.gif 751B
close.gif 282B
loadFa_toJson.htm 1KB
pshow-0D16CDDBE79F119FEFFD5A381EA0738A.htm 581B
aclk.htm 0B
hibernate3.jar 3.9MB
spring.jar 2.81MB
struts2-dojo-plugin-2.3.4.jar 1.65MB
ojdbc14-10.2.0.3.0.jar 1.48MB
aspectjweaver.jar 1.47MB
freemarker-2.3.19.jar 909KB
struts2-core-2.3.4.jar 765KB
javassist-3.12.0.GA.jar 618KB
xwork-core-2.3.4.jar 614KB
javassist-3.11.0.GA.jar 600KB
c3p0-0.9.1.jar 594KB
sqljdbc4.jar 571KB
commons-collections-3.1.jar 546KB
antlr-2.7.6.jar 433KB
standard.jar 343KB
cglib-nodep-2.2.2.jar 319KB
commons-lang3-3.1.jar 308KB
dom4j-1.6.1.jar 307KB
ognl-3.0.5.jar 222KB
commons-io-2.0.1.jar 156KB
aspectjrt.jar 112KB
oscache-2.1.jar 112KB
hibernate-jpa-2.0-api-1.0.0.Final.jar 99KB
struts2-json-plugin-2.3.4.jar 69KB
commons-logging-1.1.1.jar 59KB
commons-fileupload-1.2.2.jar 58KB
slf4j-api-1.6.1.jar 25KB
struts2-spring-plugin-2.3.4.jar 21KB
jstl.jar 17KB
jta-1.1.jar 11KB
slf4j-nop-1.7.1.jar 4KB
HibernateUtil.java 3KB
UsersAction.java 3KB
GoodsAction.java 3KB
OrderAction.java 3KB
LoginCookieFilter.java 2KB
OrderBean.java 2KB
GoodsBean.java 2KB
ShoppingCarAction.java 1KB
UsersBean.java 1KB
共 260 条
- 1
- 2
- 3
资源评论
大雄是个程序员
- 粉丝: 2760
- 资源: 571
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功