1.创建
Configuration类的实例,Configuration类的构造方法把默认文件路径下的hibernate.properties配置文件中
的配置信息读入到内存: Configuration config = new Configuration();
2.调用Configuration类的addClass(Customer.class)方法:
config.addClass(Customer.class);
这个方法把默认文件路径下的Customer.hbm.xml文件中的映射信息读入到内存中。
3.调用Configuration类的buildSessionFactory()方法:
sessionFactory = config.buildSessionFactory();
一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。
SessionFactory特点:
1.是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。
2.是重量级的,这意味着不能随意创建或销毁它的实例。
如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。
如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。
-------------------------------------------------------------------
Session接口是Hibernate应用使用最广泛的接口。
Session也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。
Session特点:
1.不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。
2.Session实例是轻量级的,所谓轻量级是指Session实例的创建和销毁不需要消耗太多的资源。
这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,
或者为每个工作单元分配单独的Session实例。
-------------------------------------------------------------------
Session接口提供了操纵数据库的各种方法,如:
save()方法:把Java对象保存数据库中。
update()方法:更新数据库中的Java对象。
delete()方法:把Java对象从数据库中删除。
load()或get()方法:从数据库中加载Java对象。
find()方法:从数据库中查询Java对象。在
Hibernate3中,这个方法已经被废弃。
Hibernate提供了专门的Query查询接口。
----------------------------------------------
findAllCustomers()方法
通过Query接口查询所有的Customer对象。
tx = session.beginTransaction(); //开始一个事务
Query query=session.createQuery("from Customer as c order by c.name asc");
List customers=query.list();
for (Iterator it = customers.iterator(); it.hasNext();) {
printCustomer(context,out,(Customer) it.next());
}
tx.commit(); //提交事务
Session的createQuery()方法的参数“from Customer as c order by c.name asc”使用的是Hibernate查询语言。运行Query.list()方法时, Hibernate执行以下SQL语句:
select * from CUSTOMERS order by NAME asc;
分享到:
相关推荐
【Hibernate 基础】是Java开发中一个重要的部分,主要关注如何将对象模型与关系数据库进行映射,以简化数据库操作。本PPT由传智播客制作,旨在帮助学习者掌握Hibernate的基础知识和应用。 首先,我们需要理解基于B/...
hibernate基础jar包。包含junit,antlr,don4j,hibernate-commons-annotations,hibernate-core,hibernate-jpa-api,javassit,jboss-logging,jboss-transaction-api
在本"Hibernate基础包"中,包含了用于SSH开发所需的全部核心库,使得开发者能够快速搭建项目并进行数据库交互。 首先,Hibernate的核心功能在于它的ORM(对象关系映射)机制。ORM允许开发者通过Java对象来操作...
本篇文章将深入探讨`Hibernate基础jar包`的构成,以及它们在Java Hibernate框架中的作用。 首先,Hibernate的核心jar包是实现ORM功能的基础。这些jar包包括但不限于以下: 1. **hibernate-core.jar**:这是...
本资源“Hibernate基础学习源码”提供了五个不同阶段的学习示例,分别命名为Hibernate_01至Hibernate_04以及Hibernate_M2M,涵盖了Hibernate的基本概念、配置、实体映射、CRUD操作以及多对多关系的处理。 1. **...
### Hibernate基础知识点详解 #### 一、什么是对象关系映射(ORM)以及为什么使用ORM? 在企业级应用开发中,持久层(persistence layer)占据了非常重要的地位。它主要负责处理与数据库之间的交互,包括数据的...
在本项目中,"springboot+hibernate基础项目"是一个使用Spring Boot和Hibernate框架构建的典型Java Web应用。Spring Boot简化了Spring的配置过程,而Hibernate则是一个强大的ORM(对象关系映射)工具,使得数据库...
**Hibernate基础知识** 1. **什么是Hibernate**:Hibernate是一个开源的Java ORM框架,它简化了Java应用与关系数据库之间的交互。通过提供一套API,Hibernate可以将Java对象自动持久化到关系数据库中,反之亦然,...
**Hibernate基础全攻略** Hibernate,一个强大的Java对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以专注于业务逻辑而不是繁琐的SQL代码。本篇攻略将深入探讨Hibernate的基础知识,帮助初学者...
**Hibernate 框架概述** Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作。ORM 解决了在 Java 应用程序中使用传统 JDBC 进行数据库操作时遇到的繁琐代码问题,将...
这个“Hibernate基础架包”包含了进行Hibernate开发所需的基本库文件,使得开发者可以快速地将其集成到自己的项目中,无需手动配置大量的依赖。 在Hibernate中,核心概念包括: 1. **实体(Entities)**:实体代表...
**Hibernate基础教程** Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间的数据交互。这个基础教程将引导我们逐步了解Hibernate的核心概念和使用方法。 **一、Hibernate概述*...
《Hibernate基础教程》是针对Java开发人员的一本经典教材,主要涵盖了如何使用Hibernate这一流行的ORM(对象关系映射)框架来简化数据库操作。配套代码包"Bh3 2nd Ed Source Code"则提供了实例代码,帮助读者更好地...