Hibernate學習(二)儲存資料

lonecloud發表於2016-10-16
 1 package cn.lonecloud.test;
 2 
 3 import java.util.Date;
 4 
 5 import org.hibernate.HibernateException;
 6 import org.hibernate.Session;
 7 import org.hibernate.SessionFactory;
 8 import org.hibernate.Transaction;
 9 import org.hibernate.cfg.Configuration;
10 import org.junit.Before;
11 import org.junit.Test;
12 
13 import cn.lonecloud.domain.User;
14 
15 public class MyDemoTest {
16 
17     private Session session;
18 
19     private SessionFactory buildSessionFactory;
20 
21     public SessionFactory getBuildSessionFactory() {
22         return buildSessionFactory;
23     }
24 
25     public void setBuildSessionFactory(SessionFactory buildSessionFactory) {
26         this.buildSessionFactory = buildSessionFactory;
27     }
28 
29     public void setSession(Session session) {
30         this.session = session;
31     }
32 
33     @Before
34     public void getSession() {
35         Configuration cfg = new Configuration().configure();
36         setBuildSessionFactory(cfg.buildSessionFactory());
37         session= buildSessionFactory.openSession();
38     }
39     @Test
40     public void saveTest(){
41         Transaction transaction = null;
42         try {
43             transaction = session.beginTransaction();//建立session
44             User user=new User();
45             user.setName("小李");
46             user.setPassword("123");
47             user.setBirthday(new Date());
48             session.save(user);//儲存操作
49             transaction.commit();//提交事務
50         } catch (HibernateException e) {
51             if (transaction!=null) {
52                 transaction.rollback();//事務回滾
53             }
54             e.printStackTrace();
55         }finally{
56             if (session!=null&&session.isOpen()) {
57                 session.close();//關閉session
58             }
59         }
60     }
61 }

 

相關文章