美文网首页
Hibernate介绍

Hibernate介绍

作者: AnkerSong521 | 来源:发表于2018-10-16 22:38 被阅读8次

    1.介绍

            Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

    2.原理

    2.1.原理图

     Hibernate原理图

    2.2 核心接口以及功能

            1.Configuration接口 :负责配置并启动hibernate 加载配置类 xml

            2.SessionFactory接口 : 负责初始化hibernate,负责 session 实例创建 

            3.Session接口 : 负责持久化对象的CRUD操作 ,这里 session 是应用和数据库的访问会话,不与 Web 的 session 混淆,负责访问数据库操作

            4.Transaction接口 : 负责事务 (提交和回滚)

            5.Query接口和Criteria接口 : 负责执行各种数据库查询 

    2.3 工作原理

            1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件

            2.由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>读取并解析映射信息

            3.通过config.buildSessionFactory();//创建SessionFactory

            4.sessionFactory.openSession();//打开Sesssion

            5.session.beginTransaction();//创建事务Transation

            6.persistent operate持久化操作 //一般指Save这个方法

            7.session.getTransaction().commit();//提交事务

            8.关闭Session

            9.关闭SesstionFactory

    2.4 Hibernate 优点

            1.对 JDBC访问数据库代码做了封装,降低了数据访问层代码耦合

            2.Hibernate 是基于 JDBC的主流持久化框架,是一个优秀的关系映射实现,很大程度上减少了 DAO 层编码工作

            3.Hibernate 使用 JAVA 反射机制

            4.Hibernate 性能非常好,是一个轻量级框架,拥有灵活的关系映射,支持大多数关系数据库,从一对一到多对多的各种复杂关系

    相关文章

      网友评论

          本文标题:Hibernate介绍

          本文链接:https://www.haomeiwen.com/subject/toykzftx.html