package com.itnba.maya.model; import org.hibernate.*; import org.hibernate.cfg.*; public class HibernateUtil { private static final SessionFactory factory = BuilderFactory(); private static final ThreadLocal<Session> thread=new ThreadLocal<Session>(); private static SessionFactory BuilderFactory() { Configuration config=new Configuration().configure(); return config.buildSessionFactory(); } public static Session getSession(){ Session session=thread.get(); if(session==null){ session=factory.openSession(); thread.set(session); } return session; } public static void closeSession(){ Session session=thread.get(); if(session!=null){ session.close(); thread.set(null); } } }
调用这个类的方法
package com.itnba.maya.test; import java.util.List; import org.hibernate.*; import com.itnba.maya.model.Fruit; import com.itnba.maya.model.HibernateUtil; public class BB { public static void main(String[] args) { Fruit data = new Fruit(); data.setIds("s003"); data.setName("芒果"); data.setSource("不知道"); data.setPrice(12.0); data.setNumbers(100); data.setImage("没有"); Session session=null; try{ session=HibernateUtil.getSession(); session.beginTransaction(); session.save(data); session.getTransaction().commit(); }catch (Exception e) { session.getTransaction().rollback(); }finally { HibernateUtil.closeSession(); } } }
运行结果
原文:http://www.cnblogs.com/hq233/p/6498157.html