package cn.itcast.hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public final class HibernateUtil {
private static SessionFactory sessionFactory;
/**
* 私有的构造方法(不希望被实例化)
*/
private HibernateUtil(){}
static{
// 实例化Configuration,加载Hibernate默认的配置文件
//如果hibernate配置文件不是默认的文件名,则需要再configure("filename");
Configuration config=new Configuration().configure();
// 创建SessionFactory对象
sessionFactory=config.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
public static Session getSession(){
return sessionFactory.openSession();
}
/**
* 根据主键查找对象
* @param objClass
* @param id
* @return
*/
public static Object getById(Class objClass,int id){
Object obj=null;
Session session=null;
try {
session=HibernateUtil.getSession();
obj=session.get(objClass, new Integer(id));
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sessionClose(session);
}
return obj;
}
/**
* 保存对象到数据库中
* @param obj
*/
public static void add(Object obj){
Session session=null;
try {
session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
session.save(obj);
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sessionClose(session);
}
}
/**
* 在数据库中更新对象
* @param obj
*/
public static void update(Object obj){
Session session=null;
try {
session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
session.update(obj);
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sessionClose(session);
}
}
/**
* 在数据库中删除对象
* @param obj
*/
public static void delete(Object obj){
Session session=null;
try {
session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
session.delete(obj);
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sessionClose(session);
}
}
/**
* Session对象关闭方法
* @param session
*/
public static void sessionClose(Session session){
if(session!=null){
session.close();
}
}
}
这是一个Hibernate的工具类,可能功能还不够完善,以后还有待改进。
分享到:
相关推荐
本系统通过将电话本里的所有联系人信息采集到系统中,对联系人的信息进行 管理,以供个人管理自己的电话本。本系统能够迅速的对联系人信息进行添加, 删除,修改,并能快速的查询出联系人的基本信息,对业务较...
对象存储,数据的增删改查--这里主要是讲如何使用系统自带的 CoreData 类对数据持久化到本地的操作,对于初学者十分适合使用,作为作者的我,将所有必要的注释全部写的清楚明了,使得 ios 开发人员在参考此文档时既有 ...
1.我这份代码是参照JKDBModel完成的,我只是加上了一些注释,删除了UI部分代码。目的只是为了让想学习FMDB的人能省去百度的时间(反正我很多不懂的代码都是靠百度) ...具体的增删改查示例代码,在viewController.m中
这里主要是讲如何使用系统自带的 CoreData 类对数据持久化到本地的操作,对于初学者十分适合使用,作为作者的我,将所有必要的注释全部写的清楚明了,使得 ios 开发人员在参考此文档时既有 demo 又有解释,实现快速上手.
代码生成 在企业软件开发过程中,大多数时间都是面向数据库表的增删改查开发。通过通用的增删改查代码生成器,可以有效的...可以帮我们生成表对应的持久化对象(po)、操作数据库的接口(dao)、CRUD sql 的 xml(mapper)。
架构: 使用runtime和Sqlite实现NSObject扩展类YUDBModel,直接实现(json反序列化对象-对象增删改查数据库-对象序列化) 易用: 无需继承,直接实现序列化、反序列化、一行代码操作数据库 稳定: 耦合度低,容错率高,...
* 数据持久层使用SpringBoot自带的Hibernate来维护PO(Persistent Object持久化对象),这里使用Hibernate的原因在于其三种对象状态(持久态、游离态、分割态)便于持久化对象的增删改查等一系列操作,取代了jdbc的...
该例子是用Struts+hibernate技术实现(增删改查) 另外还要实现了上传功能。处理了汉字乱码,例子中有现成的数据库 开发环境:JBuilder2006+MSSQL2000 朋友们,说到hibernate持久化数据 你还一头雾水。那你不要担心...
系统采用面向对象的编程思想,实现了产品的增删改查、库存统计、报表生成等功能,并支持数据的持久化存储和备份恢复。 主要特点: 1. **用户友好的界面**:系统采用图形化界面设计,用户无需专业知识即可轻松上手...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...
ORM:在持久化对象上执行基本的增、删、改、查操作 使用Mybatis的步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) ...