基本概述:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库,Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端使用,也可以在Servlet/jsp的web应用中使用,最具有革命意义的是,Hibernate可以在应用EJB的将ee框架中取代CMP,完成数据持久化的重任。

hibernate是轻量级的ORM框架,ORM全称object relation mapping  对象关系映射

PS:JAR包及其文档可以在官网网站下载:http://www.hibernate.org

ORM基本概念:

对象关系映射是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术,简单的说就是,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动化持久化到关系型数据库中,本质上就是讲数据从一种形式转换到另外一种形式。

PS:通过ORM这种技术就可以在java程序以类个和对象的形式去操控数据库的表和记录。

ORM框架:

1、Apache OJB

2、Hibernate

3、iBatis

4、SMYLE

5、Toplink

使用Hibernate的好处:

1、引入hibernate可以使工作人员角色细化,让程序员更关心业务流程,让数据库人员关注数据相关的各种操作。

2、分层更清晰,耦合性更小

3、通用性强,可以更轻松从一个数据库平台转移到别的平台

4、对象化,把关系型数据库变成了java对象,更加方便操作

5、性能保证,hibernate可能按不同的数据库,处理不同的操作是用最优化的sql语句

6、增加了程序的鲁棒性

基本原理图

Hibernate框架与JDBC的区别

MVC框架图(加上Hibernate框架)

Hibernate开发的三种方式

1、由Domain对象->mapping->database(官方推荐)

2、由Database->Domain对象->mapping

3、由映射文件开始

PS:其实通过MyEclipse可以自动生成大部分代码,但是为了理解的更深刻,还是要学习手工开发。

Hibernate手工开发

采用上述第二种方式,实现一个员工管理系统

1、Database设计(Oracle)

--创建employee表
create table employee
{
id number primary key,--编号
name varchar2(50) not null,--姓名
email varchar2(50) not null,--电子邮件
hibernate date not null --入职时间 };
--创建employee自增序列
create sequence emp_seq
start with 1
increment by 1
minvalue 1
nomaxvalue
nocycle
nocache
;

2、引入hibernate包

这个可以到官方网站上下载,然后引入。

3、编写POJO类(Employee类)

玩耍Hibernate系列(一)补充--基础知识的更多相关文章

  1. Spring Ioc源码分析系列--Ioc的基础知识准备

    Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...

  2. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  3. 玩耍Hibernate系列(二)--基础知识

    Hibernate思维导图   Hibernate映射 关于hibernate的映射要说明的一点就是关于ID的访问权限,peroperty以及field的区别: 表的主键在内存中对应一个OID对象描述 ...

  4. 玩耍Hibernate系列(一)--基础知识

    Hibernate框架介绍: Hibernate  ORM  主要用于持久化对象(最常用的框架) Hibernate  Search 用于对对象进行搜索,底层基于Apache Lucene做的 Hib ...

  5. .NET面试题系列[3] - C# 基础知识(1)

    1 类型基础 面试出现频率:基本上肯定出现 重要程度:10/10,身家性命般重要.通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分.连这部分都不清楚的人,可以说根本不知道自己每天都在干什么. ...

  6. 前端系列之CSS基础知识概述

    1.什么是DIV (1).div就是html一个普通标签,进行区域划分.特性:独自占一行.独自不能实现复杂效果.必须结合css样式进行渲染. (2).div通常其是块级元素 (3).div是定义文档中 ...

  7. Objective-C系列总结之基础知识

    //第一个程序示例 #import <Foundation/Foundation.h> int main(int argc,const char * argv[]) { @autorele ...

  8. .NET面试题系列[4] - C# 基础知识(2)

    2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...

  9. EJB系列 - 会话Bean基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-session-bean/ 什么是会话 有限的时间周期内,客户端和服务器之间的连接 为什么使用 ...

随机推荐

  1. cpack

    一. 简介 CPack是CMake 2.4.2之后的一个内置工具,主要作用就是生成制定类型的安装包.它可以脱离cmake单独运行. 二. 基本设置 (mandatory) 设置包类型set(CPACK ...

  2. CentOS学习笔记--防火墙iptables

    Linux 的防火墙:iptables iptables是封包过滤软件,Linux内核2.6以上都是这款软件.本节节选自 鸟哥的 Linux 私房菜 -- 服务器架设篇  第九章.防火墙与 NAT 服 ...

  3. asp.net跨页面传值

    a.aspx.cs //获取a中的id HttpCookie objCookie = new HttpCookie("myCookie", id); Response.Cookie ...

  4. Cassandra 计数器counter类型和它的限制

    文档基础 Cassandra 2.* CQL3.1 翻译多数来自这个文档 更新于2015年9月7日,最后有参考资料 作为Cassandra的一种类型之一,Counter类型算是限制最多的一个.Coun ...

  5. ASP.NET中application对象

    ASP.NET中application对象的使用. Application对象的应用  1.使用Application对象保存信息  (1).使用Application对象保存信息  Applicat ...

  6. 【转】javascript性能优化-repaint和reflow

    repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲 ...

  7. 学习simple.data之基础篇

    simple.data是一个轻量级的.动态的数据访问组件,支持.net4.0. 1.必须条件和依赖性: v4.0 or greater of the .NET framework, or v2.10 ...

  8. C#高级功能(三)Action、Func,Tuple

    Action和Func泛型委托实际上就是一个.NET Framework预定义的委托,3.5引入的特性.基本涵盖了所有常用的委托,所以一般不用用户重新声明. Action系列泛型委托,是没有返回参数的 ...

  9. STM32F0_新建软件工程详细过程

    前言 由于ST公司推出比STM32F1性价比更高的F0芯片,现在市面上F0芯片的占有率也非常高.F0芯片属于M0内核,主频48M(当然,可以超频的,但尽量不要超的太多),资源大小可根据项目需求来选型. ...

  10. python之文件

    文件打开函数:f = open 表1-1:open函数中模式参数常用值 打开模式 描述 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式 '+' 读/写模式 表1-2:文件对象方法 ...