解决方案 »
- jsp文件压缩问题:做了一个文件域表单,和一个压缩按钮,点击压缩按钮自动将文件压缩,求哪位大侠能告诉我
- js表单验证返回false依然提交
- 求助JVM问题
- 购物车的问题
- spring事务报错,查了好久,无果,帮忙看看!!!刚发现没分了,帮忙看下。
- 各位老大,这是什么错误啊,小弟先谢了!!
- 请问JNDI主要讲的什么?
- jbuilder+weblogic出现的问题,小弟实在是搞不定了,请各位帮个忙
- 由servlet下载问题
- oracle数据库执行更新删除都没问题,但就是插入不进,是怎么回事呀,坐等!!!!!!!!!
- 孙卫琴.精通struts.基于MVC的.java.web设计与开发 这书谁看过
- 请问将java程序和sql分离怎么实现
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;public class HibernateUtil {
private static SessionFactory sessionFactory;
// private static HibernateUtil instance;
//
// private HibernateUtil() {
// try {
// Configuration cfg = new Configuration().configure();
// sessionFactory = cfg.buildSessionFactory();
// } catch (HibernateException e) {
// e.printStackTrace();
// throw new ExceptionInInitializerError("Init hibernate error");
// }
// }
//
// public static HibernateUtil getInstance() {
// if (instance == null) {
// synchronized (HibernateUtil.class) {
// if (instance == null) {
// instance = new HibernateUtil();
// }
// }
// }
//
// return instance;
// }
static {
try {
Configuration cfg = new Configuration().configure();
sessionFactory = cfg.buildSessionFactory();
} catch (HibernateException e) {
e.printStackTrace();
throw new ExceptionInInitializerError("Init hibernate error");
}
} public static Session getSession() {
return sessionFactory.openSession();
}
public static void save(Object obj) {
Session session = HibernateUtil.getSession();
Transaction tx = null; try {
tx = session.beginTransaction();
session.save(obj);
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
HibernateUtil.rollback(tx);
} finally {
HibernateUtil.closeSession(session);
}
}
public static void saveObjects(Object... objs) {
Session session = HibernateUtil.getSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
for (int i = 0; i < objs.length; ++i) {
session.save(objs[i]);
}
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
HibernateUtil.rollback(tx);
} finally {
HibernateUtil.closeSession(session);
}
} public static void closeSession(Session session) {
if (session != null) {
try {
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}
public static void rollback(Transaction transaction) {
if (transaction != null) {
try {
transaction.rollback();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}
}
使用方法
public void listUsers(String hql) {
Session session = HibernateUtil.getSession();
try {
Query query = session.createQuery(hql);
List users = query.list();
Iterator iter = users.iterator(); while (iter.hasNext()) {
System.out.println(iter.next());
}
} catch (HibernateException e) {
e.printStackTrace();
} finally {
HibernateUtil.closeSession(session);
}
}