標籤:build int final admin configure code 方法 factory uil
前面已經說過hibernate的基本配置了,現在對之前的基本配置進行代碼最佳化;
寫一個讀取組態工具
1 package tool; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.cfg.Configuration; 6 //configuration的工具 7 public final class HibernateUtil { 8 private static SessionFactory sessionFactory; 9 private HibernateUtil(){10 11 }12 public static SessionFactory getSessionFactory() {13 return sessionFactory;14 }15 static{16 Configuration cfg = new Configuration().configure();17 sessionFactory=cfg.buildSessionFactory();18 }19 public static Session getSession()20 {21 return sessionFactory.openSession();22 }23 24 }
在測試類別中寫一個添加資料和擷取資料方法
1 // 擷取資料 2 static Admin getAdmin(int id) { 3 Session session = null; 4 try { 5 session = HibernateUtil.getSession(); 6 Admin admin = session.get(Admin.class, id); 7 return admin; 8 } finally { 9 if (session != null)10 session.close();11 }12 }13 14 // 添加資料15 static void addAdmin(Admin admin) {16 Session session = null;17 Transaction tx = null;18 try {19 session = HibernateUtil.getSession();20 tx = session.beginTransaction();21 session.save(admin);22 tx.commit();23 } finally {24 if (session != null)25 session.close();26 }27 }
剩下的直接調用就行了
1 public static void main(String[] args) { 2 // 建立進行持久化對象 3 // Admin admin = new Admin(); 4 // admin.setUserId(6); 5 // admin.setUserName("李四"); 6 // admin.setUserPwd("456"); 7 // addAdmin(admin); 8 Admin admin1 = getAdmin(1); 9 System.out.println("name["+admin1.getUserName()+"],password["+admin1.getUserPwd()+"]");10 }
hibernate基本配置最佳化