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封装了。

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