您的位置:首页 > 数据库

Hibernate的第一个程序

2016-09-25 17:35 302 查看
Hibernate是一个开源的对象关系映射框架,对JDBC进行非常轻量级的封装。它将POJO与数据表建立了映射关系,是一个全自动的ORM框架。

Hibernate可以自动生成SQL语句并且自动执行SQL,可以用面向对象思想来操纵数据库。

在开始第一个hibernate小程序之前我们有必要熟悉一下hibernate的五大对象。

Configuration: Configuration 类负责管理 Hibernate 的配置信息

SessionFactory:

1)针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。

2)SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息

3)SessionFactory是生成Session的工厂

4)构造 SessionFactory 很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory 对象。

5)Hibernate4 新增了一个 ServiceRegistry 接口,所有基于 Hibernate 的配置或者服务都必须统一向这个 ServiceRegistry 注册后才能生效

Session:

1)Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作。此对象的生命周期很短。Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久层操作的数据都缓存在 session 对象处。相当于 JDBC 中的 Connection。

2)持久化类与 Session 关联起来后就具有了持久化的能力。

Transaction:

允许应用程序定义工作单位,同时保持底层事务实现的抽象。

Criteria:

criteria是通过组合criteria对象检索实体的一个简化的接口,session是一个标准的工厂Criteria实例通常是通过工厂的方法来限制。

上面对hibernate和其常用对象做了一个简单的介绍,下面就开始我们的第一个小程序吧。

一、hibernate开发环境准备

1、新建一个web工程,将…….\hibernate-release-4.2.4.Final\lib\required下面的所有jar包导入到web工程lib目录下。



2、加入数据库驱动包,我这里用的数据库是mysql驱动包是:

mysql-connector-java-5.1.7-bin.jar

二、开始编写第一个hibernate程序

1、新建hibernate.cfg.xml文件并编写其基本信息(主要是配置sessionFactory,相当于connection,起到链接数据库的作用)



2、在mysql数据库客户端新建一个数据表



3、编写一个实体类,该实体类属性与数据表中的字段名或者别名相映射



4、新建实体类的数据库映射文件XXXX.hbm.xml



5、将实体类的数据库映射文件引入到hibernate配置文件中



6、新建一个测试类,如下

package com.wxf.hibernate.test;
import java.util.UUID;
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.Test;
import com.wxf.hibernate.entity.Student;
public class HelloworldTest {
@Test
public void test() {
//1.创建一个SessiionFactory对象
SessionFactory sessionFactory=null;
//1).创建Configuration对象:对应hibernate的基本信息和对象关系映射信息
Configuration configuration=new Configuration().configure();
//2).创建一个ServiceRegistry对象:hibernate的任何配置和服务都需要在该对象中注册后才能有效
ServiceRegistry serviceRegistry=
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
//3).基于以上几个对象创建SessionFactory对象
sessionFactory=configuration.buildSessionFactory(serviceRegistry);

//2.创建一个Session对象
Session session=sessionFactory.openSession();
//3.开启事务
Transaction transaction=session.beginTransaction();
//4.执行操作
Student student=new Student(UUID.randomUUID().toString(),"wangxiaofei",22,"male","13190241");
session.save(student);

//5.提交事务
transaction.commit();
//6.关闭Session对象
session.close();
//7.关闭SessionFactory对象
sessionFactory.close();
}
}


运行结果如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 框架 数据库