zoukankan      html  css  js  c++  java
  • hibernate学习笔记之一 hibernate简介

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架
    hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
    Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
     
    持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
    持久化是将程序数据在持久状态和瞬时状态间转换的机制。
    JDBC就是一种持久化机制。文件IO也是一种持久化机制。
     
    一、Hibernate是对JDBC进一步封装
           原来没有使用Hiberante做持久层开发时,存在很多冗余,如:各种JDBC语句,connection的管理,所以出现了Hibernate把JDBC封装了一下,我们不用操作数据,直接操作它就行了。
     
    二、我们再从分层的角度来看
           我们知道非常典型的三层架构:表示层,业务层,还有持久层。Hiberante也是持久层的框架,而且持久层的框架还有很多,比如:IBatis,Nhibernate,JDO,OJB,EJB等等。
     
    三、Hibernate是开源的一个ORM(对象关系映射)框架。
          ORM,即Object-Relational Mapping,它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了(把关系数据库的字段在内存中映射成对象的属性)。
     
    Hibernate的核心:
     
    从上图中,我们可以看出Hibernate六大核心接口,两个主要配置文件,以及他们直接的关系。Hibernate的所有内容都在这了。那我们从上到下简单的认识一下,每个接口进行一句话总结。
    1、Configuration接口:负责配置并启动Hibernate
    2、SessionFactory接口:负责初始化Hibernate
    3、Session接口:负责持久化对象的CRUD操作
    4、Transaction接口:负责事务
    5、Query接口和Criteria接口:负责执行各种数据库查询
     
    注意:Configuration实例是一个启动期间的对象,一旦SessionFactory创建完成它就被丢弃了。
     
    Hibernate的优/缺点:
     
    优点:
    1、更加对象化
          以对象化的思维操作数据库,我们只需要操作对象就可以了,开发更加对象化。
    2、移植性
          因为Hibernate做了持久层的封装,你就不知道数据库,你写的所有的代码都具有可复用性。
    3、Hibernate是一个没有侵入性的框架,没有侵入性的框架我们称为轻量级框架。Hibernate不需要继承任何类,不需要实现任何接口。这样的对象叫POJO对象。
    4、Hibernate代码测试方便。
    5、提高效率,提高生产力。
     
    缺点:
    1、使用数据库特性的语句,将很难调优
    2、对大批量数据更新存在问题
    3、系统中存在大量的攻击查询功能
     
     
  • 相关阅读:
    九九乘法表
    杨辉三角
    显示计算机界面
    完善3.2
    杨辉三角形
    100以内的素数
    九九乘法表
    杨辉三角
    九九乘法表
    杨辉三角形
  • 原文地址:https://www.cnblogs.com/djoker/p/6219845.html
Copyright © 2011-2022 走看看