1 package org.zln.hibernate.utils;
2
3
4 import org.hibernate.Session;
5 import org.hibernate.SessionFactory;
6 import org.hibernate.Transaction;
7 import org.hibernate.cfg.Configuration;
8
9 import java.io.Serializable;
10
11 /**
12 * Created by coolkid on 2015/6/14 0014.
13 */
14 public final class HibernateUtils {
15
16 private static Configuration configuration = new Configuration();
17 private static SessionFactory sessionFactory;
18 private static final String PATH = "hibernate.cfg.xml";
19
20 private HibernateUtils(){}
21
22 static {
23 /*初始化Hibernate*/
24 configuration.configure(PATH);
25 sessionFactory = configuration.buildSessionFactory();
26 }
27
28 public static SessionFactory getSessionFactory(){
29 return sessionFactory;
30 }
31
32 public static Session getSession(){
33 return sessionFactory.openSession();
34 }
35
36 public static void add(Object o){
37 Session session = null;
38 Transaction transaction = null;
39 try {
40 session = HibernateUtils.getSession();
41 transaction = session.beginTransaction();
42 session.save(o);
43 session.flush();
44 transaction.commit();
45 }finally {
46 if (session != null){
47 session.close();
48 }
49 }
50 }
51
52 public static void update(Object o){
53 Session session = null;
54 Transaction transaction = null;
55 try {
56 session = HibernateUtils.getSession();
57 transaction = session.beginTransaction();
58 session.update(o);
59 transaction.commit();
60 }finally {
61 if (session != null){
62 session.close();
63 }
64 }
65 }
66
67 public static void delete(Object o){
68 Session session = null;
69 Transaction transaction = null;
70 try {
71 session = HibernateUtils.getSession();
72 transaction = session.beginTransaction();
73 session.delete(o);
74 transaction.commit();
75 }finally {
76 if (session != null){
77 session.close();
78 }
79 }
80 }
81
82 public static Object getObject(Class clazz,Serializable id){
83 Object o = null;
84 Session session = null;
85 try {
86 session = HibernateUtils.getSession();
87 o = session.get(clazz,id);
88 }finally {
89 if (session!=null){
90 session.close();
91 }
92 }
93 return o;
94 }
95 }