環(huán)境搭建簡(jiǎn)單記錄:下載對(duì)應(yīng)操作系統(tǒng)的eclipse,裝上Hinbernate插件,導(dǎo)入相應(yīng)jar包。
步驟:
1.新建一個(gè)普通的Java項(xiàng)目
2.在src目錄下添加配置文件
# hibernate.cfg.xml
3.編寫(xiě)持久化類(lèi)(實(shí)體類(lèi))
# Students.java
持久化類(lèi)的設(shè)計(jì)原則要遵循javabean的設(shè)計(jì)原則,設(shè)計(jì)原則有四點(diǎn):
# 這個(gè)類(lèi)是一個(gè)公有類(lèi)
# 提供公有的不帶參數(shù)的默認(rèn)的構(gòu)造方法
# 屬性要私有化private
# 屬性要用setter/getter封裝
4.創(chuàng)建 對(duì)象-關(guān)系映射文件和數(shù)據(jù)庫(kù)
# Students.hbm.xml 和 db_hibernate
5.使用Junit測(cè)試,測(cè)試能否通過(guò)HibernateAPI以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù)
6.通過(guò)HibernateAPI訪問(wèn)數(shù)據(jù)庫(kù).
<code>
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 {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init() {
//創(chuàng)建配置對(duì)象
Configuration config = new Configuration().configure();
//創(chuàng)建服務(wù)注冊(cè)對(duì)象
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().
applySettings(config.getProperties()).buildServiceRegistry();
//創(chuàng)建會(huì)話工廠對(duì)象
sessionFactory = config.buildSessionFactory(serviceRegistry);
//會(huì)話對(duì)象
session = sessionFactory.openSession();
//開(kāi)啓事務(wù)
transaction = session.beginTransaction();
}
@After
public void destory() {
transaction.commit();//提交事務(wù)
session.close();//關(guān)閉會(huì)話
sessionFactory.close();//關(guān)閉會(huì)話工廠
}
@Test
public void testSaveStudents() {
//生成學(xué)生對(duì)象
Students s = new Students(1, "隔壁老王", "男", new Date(), "北京");
session.save(s);
}
}
</code>
測(cè)試通過(guò)后,可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)上已經(jīng)有了數(shù)據(jù).
