zoukankan      html  css  js  c++  java
  • Hibernate核心(一)

    Hibernate的概念

      Hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据库访问提出的面向对象的解决方案。

    Hibernate的作用

      使用Hibernate可以直接访问对象,Hibernate自动将此访问转换成SQL执行,从而达到间接访问数据库的目的,简化了数据访问层的代码开发。

    Hibernate与JDBC对比

      

      使用JDBC具有以下缺点:

      —— 需要编写大量的SQL语句;

      —— 需要给大量的?参数赋值;

      —— 需要将ResultSet结果集转换成实体对象;

      —— SQL中包含特有函数,无法移植。

      使用Hibernate可以解决上述问题:

      —— 自动生成SQL语句;

      —— 自动给?参数赋值;

      —— 自动将ResultSet结果集转换成实体对象;

      —— 采用一致的方法对数据库操作,移植性好。

    Hibernate与MyBatis对比

      * 共性

      —— 对JDBC进行了封装; 

      —— 采用ORM思想解决了Entity和数据库的映射问题。

      & MyBatis

      —— MyBatis采用SQL与Entity映射,对JDBC封装程度较轻;

      —— MyBatis自己写SQL,更具有灵活性;

      & Hibernate

      —— Hibernate采用数据库与Entity映射,对JDBC封装程度较重;

      —— Hibernate自动生成SQL,对于基本的操作,开发效率高

     

    设计原理

      * Hibernate采用了ORM思想对JDBC进行了封装。

      * Hibernate框架是ORM思想的一种实现,解决了对象和数据库数据映射问题;

      * Hibernate提供一系列API,允许我们直接访问实体对象,然后其根据ORM映射关系,转换成SQL并且去执行,从而达到访问数据库的目的。

    ORM思想

      * ORM:Object Relation Mapping,即对象关系映射,指的是Java对象和关系数据库之间的映射。

      * ORM思想,就是将对象与数据库数据进行相互转换的思想,不同的框架/技术实现ORM的手段不同,但更多的是采用配置+反射的方式来实现ORM。

  • 相关阅读:
    GridView 配合模板实现 合并单元格(多列)
    Parse和Convert的区别
    'EntityValidationErrors' property for more details
    This 在 C# 中的含义
    C# 之 深入理解using
    尝试从数据库进行更新时,遇到..
    处理远程桌面不能复制粘贴解决办法
    Can't load AMD 64-bit .dll on a IA 32-bit platform错误
    MyBatis笔试题
    MyBatis延迟加载和缓存
  • 原文地址:https://www.cnblogs.com/TomJay/p/5781063.html
Copyright © 2011-2022 走看看