hibernate 简单封装

package com.wode.util;

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

public class HibernateUtil {
private static SessionFactory sessionFactory=null;

static{
try {
Configuration configuration = new Configuration().configure();
sessionFactory=configuration.buildSessionFactory();
} catch (Exception e) {
// TODO: handle exception
System.out.println("加载Hibernate失败");
e.printStackTrace();
}
}
//开启session对象
public static Session openSession() throws HibernateException {
Session session = sessionFactory.openSession();
return session;
}
//关闭session对象
public static void closeSession(Session session) throws HibernateException {
if(session!=null){
session.close();
}
}
//线程不安全

}

//线程安全的hibernate 封装加入 ThreadLocal

package com.wode.util;

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

/**
* 线程安全hibernate
* @author Administrator
*ThreadLocal 实现资源的 复制 以空间换时间
*/
public class HibernateSaveUtil {
private static SessionFactory sessionFactory=null;
//本地化线程ThreadLocal
private static ThreadLocal<Session> localSession = null;
static{
try {
Configuration configuration = new Configuration().configure();
sessionFactory=configuration.buildSessionFactory();
localSession = new ThreadLocal<Session>();
} catch (Exception e) {
// TODO: handle exception
System.out.println("加载Hibernate失败");
e.printStackTrace();
}
}
public static Session OpenSession()throws HibernateException {
Session session = localSession.get();
if(session==null){
session=sessionFactory.openSession();
localSession.set(session);
}
return session;
}
public static void CloseSession()throws HibernateException {
Session session=localSession.get();
if(session!=null){
session.close();
}
localSession.set(null);
}
}

时间: 2024-11-03 07:45:20

hibernate 简单封装的相关文章

Spring + Struts + Hibernate 简单封装通用接口

1.BaseDao public interface BaseDao<T> { /** * 获取符合条件的记录数 * @param filter * @param sortName * @param sortOrder * @return int */ public int findCount(String filter, String sortName, String sortOrder); /** * 获取分页数据 * @param filter * @param sortName * @

JDBC简单封装

/** * JDBC简单封装 * 需要借助FastJsonUtil可以参考上一篇 * @author huangxincheng * */ public class BaseDao { private static String URL; private static String USERNAME; private static String PASSWORD; private static String DRIVER; private  Connection connection; priv

对系统网络请求进行简单封装

AGConnectionNet对系统网络请求进行简单封装,可便利的进行网络请求,并将数据解析与网络请求封装在同一方法下,使用更加便利(JSON 解析采用自身解析方法, XML 解析采用第三方 ReadXML 进行解析). 方法具体参数说明 初始化方法:/*** 类方法,实例化当前数据请求对象 (单例)** @return 当前请求对象*/+ (instancetype)shareRequestData; 仅进行请求数据方法/*** 请求数据 (session 请求)** @param URLSt

iOS sqlite 增删改查 简单封装(基于 FMDB)

/** *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * *  基于 FMDB * *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整体进行操作 * *  根据 model 对象自动建表,字段类型只支持 NSString , NSIteger , float * *  用到 runtime 运行时获取 model 属性 * */ 1 // 2 // AGDatabaseManager.h 3 // 4 // Created by

简单封装sqlite3 实现实体对象与关系型数据库的相关操作【IOS】

源码如下,只有一个类文件 // //  DBHelper.h // //  Created by Jason_Msbaby on 15/10/15. //  Copyright ? 2015年 张杰. All rights reserved. // /**  *  简单封装了对于sqlite的使用 没有加入对事务及其他复杂的特性     基于传入sql语句的方式进行执行     使用单例模式     根据model对象自动创建表 只支持 NSInter NSString float 数据类型的支

httpclient4.3简单封装

对httpclient4.3版本的一个简单封装,下面是代码 /**  * httputil工具类  *   * @author rex  */ public class HttpUtil {     private static CloseableHttpClient client;     private static BasicCookieStore cookieStore;     private static HttpGet get;     private static HttpPos

MySQL的C++简单封装

/* *介绍:MySQL的简单封装,支持流操作输入输出MySQL语句,然而并没有什么软用,大二学生自娱自乐,有不足求指点 *作者:MrEO *日期:2016.3.26 */ 头文件 my_sql.h 1 #ifndef MY_SQL_H 2 #define MY_SQL_H 3 4 #include <mysql.h> 5 #include <iostream> 6 #include <string> 7 #include <iomanip> 8 9 cla

Android ToolBar 的简单封装

使用过 ToolBar 的朋友肯定对其使用方法不陌生,因为其用法很简单,如果对 ActionBar 使用比较熟练的人来说,ToolBar 就更容易了!不过,相信大家在使用的过程中都遇到过这样一个问题,需要在每一个我们要使用的 xml 中添加 ToolBar 这个控件,比如我需要在 MainActivity中使用 ToolBar,则他的 xml 文件需要这样写, <RelativeLayout xmlns:android="http://schemas.android.com/apk/res

简单封装MessageBox提示对话框

namespace DMS.Common { public class MsgHelper { public static DialogResult ShowErrorMsgBox(string error) { return MessageBox.Show(error, "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } public static DialogResult ShowInformationMsgBox(str