package?hibernate_test;
import?java.util.Date;
import?org.hibernate.Session;
import?org.hibernate.SessionFactory;
import?org.hibernate.Transaction;
import?org.hibernate.cfg.Configuration;
import?org.hibernate.service.ServiceRegistry;
import?org.hibernate.service.ServiceRegistryBuilder;
import?org.junit.After;
import?org.junit.Before;
import?org.junit.Test;
//測試類
public?class?StudentsTest?{
/**
?*?執(zhí)行順序:
?*?先before再test再after
?*/
private?SessionFactory?sessionFactory;
private?Session?session;
private?Transaction?transaction;
@Before//測試之前執(zhí)行的方法
public?void?init(){
//創(chuàng)建配置對象
Configuration?config=new?Configuration().configure();
//創(chuàng)建服務(wù)注冊對象
ServiceRegistry?serviceRegistry=new?ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//創(chuàng)建會話工廠對象
sessionFactory=config.buildSessionFactory(serviceRegistry);
//會話對象
session=sessionFactory.openSession();
//開啟事務(wù)
transaction=session.beginTransaction();
}
@After//釋放資源
public?void?destory(){
transaction.commit();//先提交事務(wù)
session.close();//關(guān)閉會話
sessionFactory.close();//關(guān)閉會話工廠
}
@Test//測試的方法
public?void?testSaveStudents(){
Students?s=new?Students(1,?"張三豐",?"男",?new?Date(),?"武當山");
session.save(s);//保存對象進入數(shù)據(jù)庫
}
}