10 01Hibernate之配置並開發第一個Hibernate程序

1 配置MyEclipse開發環境

MyEclipse在進行框架開發的操作上還是非常好用的,所以在MyEclipse裏面如果要想進行Hibernate程序的編寫,那麼必須要配置數據庫的相關內容。

1、打開數據庫的連接窗口試圖;

打開這個窗口的目的是爲了可以在MyEclipse裏面配置MySQL數據庫的連接。

2、隨後在數據庫瀏覽器窗口裏麪點鼠標右鍵,進行新的連接創建。

3、在出現的對話框之中選擇要使用的數據庫,本次使用的是MySQL數據庫。
(1)同時在本處操作的時候還需要配置數據庫的驅動程序;

配置完成之後可以直接選擇右鍵就可以打開mysql的數據庫了。

4、一切準備就緒之後創建第一個Hibernate項目,這個項目的名稱爲“HibernateProject-01”,是一個WEB項目(所有的開發包都可以保存在lib目錄中);

5、而後爲該項目添加Hibernate開發支持。

6、在MyEclipse裏面最新支持的Hibernate版本是5.1。
隨後會詢問用戶是否需要創建一些文件:
(1)Hibernate的配置文件:hibernate.cfg.xml
(2)Hibernate工廠類:HibernateSessionFactory
隨後會詢問用戶要使用的數據庫是哪一個?選擇好之前配置的“mysql”數據庫。

接着會詢問用戶是否要添加一些Hibernate的開發支持包。

2 開發第一個程序

既然Hibernate屬於數據層的工具類,那麼工具類的特徵就是固定的操作模式,而且如果要進行數據庫操作,需要給出數據表,那麼下面首先創建一個數據庫腳本;
範例:數據庫腳本

-- 刪除數據庫
DROP DATABASE IF EXISTS hedb;
-- 創建數據庫
CREATE DATABASE hedb;
-- 使用數據庫
USE hedb;
-- 刪除數據表
DROP TABLE IF EXISTS `member`;
-- 創建數據表
CREATE TABLE `member`(
	mid VARCHAR(50),
	mname VARCHAR(50),
	mage INT,
	msalary DOUBLE,
	mbirthday DATE,
	mnote TEXT,
	CONSTRAINT pk_mid PRIMARY KEY(mid)
);

2、Hibernate是基於簡單Java類的應用,所以在Hibernate裏面一切的數據操作都要以類爲主。所有的類不需要由用戶創建,可以通過工具自動完成。

生成的時候是找到數據庫的所在位置,並且定位到數據表上。

3、隨後會出現一個轉換的處理界面,這個界面上首先要選擇程序生成的位置(只有添加過Hibernate項目支持的才能夠被選擇)

Hibernate中的簡單Java類稱爲POJO(簡單古老的Java對象)。

其中Java的數據對象是根據表結構的描述動態生成的。
4、隨後要選擇主鍵生成模式,此時的mid字段應該是由用戶自己輸入的,既然是自己輸入的,那麼表示指派模式。

在最早的時候此步完成後就可以自動生成了,但是後來從MyEclipse 6.3開始。
之後會在org.lks.pojo包中生成兩個文件:Member.java這個與表的映射類,還有一個Member.hbm.xml文件的配置。

5、編寫程序保存數據;

package org.lks.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.lks.pojo.Member;

public class TestMemberInsertDemo {
	public static void main(String[] args) throws ParseException {
		Member pojo = new Member();
		pojo.setMid("3161301220");
		pojo.setMname("lks");
		pojo.setMage(23);
		pojo.setMsalary(2000.0);
		pojo.setMnote("hhy big fool!");
		pojo.setMbirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1996-10-15"));
		Configuration configuration = new Configuration();
		configuration.configure();
		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
		SessionFactory sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
		Session session = sessionFactory.openSession();
		session.save(pojo);
		session.beginTransaction().commit();  //事務提交
		System.out.println("success!");
		session.close();
	}
}

Hibernate裏面在更新的時候必須由用戶自己手工的進行事務的處理。

如果在Hibernate裏面假設都是session.save(pojo)方式來保存數據的話,那麼這種操作就會顯得很容易編寫了,沒有再去編寫INSERT語句了,也沒有再出現PreparedStatement了,所有的JDBC操作都被Hibernate封裝了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章