Java_Web三大框架之Hibernate 入门(一)

一、Hibernate简介:

Hibernate作者——Gavin King

Hibernate创始人

《 Hibernate in action 》作者

EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人是Linda DeMichiel)

参加了XDoclet和Middlegen的开发

2003年9月加入JBoss,全职进行Hibernate开发

二、Hibernate

1、一个开发源代码的对象关系映射框架

2、对JDBC进行了非常轻量级的对象封装

3、将JavaBean对象和数据库的表建立对应关系

三、Hibernate优势

1、Hibernate 是一个优秀的Java 持久化层解决方案

2、是当今主流的对象—关系映射工具

3、Hibernate 简化了JDBC 繁琐的编码

Session session = HiberanteUtil.getSession();
Query query = session.createQuery("from User");
List<User> users =(List<User>)query.list();

注:JDBC的缺点:

(1)、开发效率低

(2)、代码冗余

pstmt的setXX方法

方法参数冗余的getXX方法

(3)、如果POJO的属性很多,代码增加

(4)、重复性工作多

4、Hibernate 将数据库的连接信息都存放在配置文件中

四、持久化与ORM3-2

1、持久化层:

JDBC 就是一种持久化机制。

将程序数据直接保存成文本文件也是持久化机制的一种实现。

在分层结构中,DAO 层(数据访问层)也被称为持久化层。

2、持久化完成的操作:

将对象保存到关系型数据库中。

将关系型数据库中的数据读取出来, 以对象的形式封装。

五、ORM(Object Relational Mapping,对象关系映射)

1、编写程序的时候,以面向对象的方式处理数据

2、保存数据的时候,却以关系型数据库的方式存储

ORM解决方案包含下面四个部分:

1、在持久化对象上执行基本增、删、改、查操作的API

2、用于对持久化对象或属性查询的一种语言或者API

3、用于实体关系映射的工具

4、能够与事务对象交互、执行检查、延迟加载以及其他优化功能

六、Hibernate中实体对象的三种状态

实体对象的生命周期是Hibernate 应用中的一个关键概念

实体对象的三种状态:

1、瞬时状态(Transient)

刚用new语句创建,还没有被持久化,且不处于Session的缓存中

2、持久状态(Persistent)

已经被持久化,且加入到Session的缓存中

3、游离状态(Detached)

已经被持久化,但不再处于Session的缓存中

时间: 2024-10-12 02:13:45

Java_Web三大框架之Hibernate 入门(一)的相关文章

Java_Web三大框架之Hibernate配置文件(二)

下面介绍一下编写Hibernate的配置文件,使用Hibernate操作数据库. 开始部署:下载需要的jar包 下载Hibernate Hibernate 的官方主页是www.hibernate.org 推荐下载hibernate-distribution-3.3.2.GA-dist.zip Hibernate包目录结构 部署jar包 hibernate3.jar required 目录下的jar 包 Oracle 数据库驱动jar包 第一步:创建实体类和实体映射文件 public class

Java_Web三大框架之Hibernate+HQL语言基础

12.1 HQL语言基础Hibernate查询语言为HQL(Hibernate Query Language),可以直接使用实体类名及属性.HQL语法类似于SQL,有SQL的关键词如select.from.order by.count().where等等.不同的是HQL是一种完全面向对象的语言,能够直接查询实体类及属性.12.1.1 HQL语法HQL语法类似于SQL,是一种select...from...的结构.其中,from后跟的是实体类名,而不是表名.select后面跟的可以是实体对象,也可

Java_Web三大框架之Hibernate+jsp+selvect+HQL查询数据

俗话说:"好记性不如烂笔头".本人学习Hibernate也有一个星期了,对Hibernate也有一个初步的了解.下面对Hibernate显示数据做个笔记,使用租房系统的Hibernate+jsp+selvect. 第一步:编写房屋实体类 /* * 房屋实体类 */ public class House { private int id;//房屋id private String title;//标题 private String description;//描述 private Str

Java_Web三大框架之Hibernate+jsp+selvect+HQL注册用户

Hibernate比SQL语句简单多了,代码冗余少,切方便简洁明了.下面用Hibernate+jsp+selvect+HQL来实现注册用户. 第一步:编写用户实体类和Users2.hbm.xml映射. /* * 用户实体类 */ public class Users2 { private int id;//用户id private String name;//用户昵称 private String password;//用户密码 private String telephone;//用户号码 p

Java_Web三大框架之Hibernate+jsp+HQL分页查询

分页查询无处不在.使用Hibernate+jsp+HQL进行分页查询. 第一步:编写房屋实体类和House.hbm.xml映射. /* * 房屋实体类 */ public class House { private int id;//房屋id private HouseType type;//房屋类型 private Users2 user;//用户 private Street street;//街道 private String title;//标题 private String descr

Java_Web三大框架之Hibernate操作数据库(三)

使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射信息,创建SessionFactory SessionFactory sf = conf.buildSessionFactory(); (3)打开Session Session session = sf.openSession(); (4)开始一个事务(增删改操作必须,查询操作可选) Transac

Java_Web三大框架之Hibernate+jsp+selvect+HQL登入验证

刚开始接触Hibernate有些举手无措,觉得配置信息太多.经过一个星期的适应,Hibernate比sql简单方便多了.下面做一下Hibernate+jsp+selvect+HQL登入验证. 第一步:编写用户实体类和配置用户Users2.hbm.xml映射. /* * 用户实体类 */ public class Users2 { private int id;//用户id private String name;//用户昵称 private String password;//用户密码 priv

Java_Web三大框架之Hibernate增删改查

下面介绍一下Hibernate的增删改查. 第一步:编写用户实体类以及User.hbm.xml映射 package com.msl.entity; public class User { private int id; private String name; private String password; private String telephone; private String username; private String isadmin; public User() { } p

【SSH三大框架】Hibernate基础第十二篇:load()懒加载分析以及一对一、一对多、多对一、多对多懒加载的分析

一.懒加载的定义: 懒加载:在WEB应用程序中,经常会需要查询数据库,系统的响应速度在很大程度上是与数据库交互的响应.因此,如果能够优化与数据库的交互速度,则能够大大提高WEB应用的响应速度. 例如:当有一个Student类和一个Teacher类.当我们加载一个学生的所有信息,包括:学号,姓名等属性后,此时Student类中的Teacher类型的属性为null,当我们需要知道这个Student对应的Teacher属性的时候,我们才去加载这个Teacher对象. 如果,我们只需要知道学生信息,我们