Hibernate基础了解

何为Hibernate?

  • Hibernate:一个开源的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,将POJO与数据库表建立映射关系,以实现直接存取java对象。

注:POJO(Plain Ordinary Java Object):简单的Java对象,就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

  • hibernate是一个全自动的orm框架,可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 可以应用在任何使用JDBC的场合,既:可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用
  • 最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

注:ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象映射文件中。

为什么要使用Hibernate?

Hibernate是关于java对象与数据库之间的联系,也就是MVC中的数据持久层,也就是DAO层。

  • 正常步骤:
    ①在DAO层操作xml,数据封装在xml上,读写xml文件来实现CRUD
    DAO层使用原生JDBC连接数据库
    JDBC代码冗余,使用封装后的JDBC—》DBUtils来简化CRUD。
  • DBUtils的规律:
    ①插入数据时,将javaBean对象拆分,拼装成SQL语句。
    ②数据查询时,用SQL语句把数据库中的列组合,拼装成javaBean对象。
  • 使用Hibernate
    ①根据javaBean对象和数据表中的列之间的映射关系,自动生成SQL语句。

Hibernate的优缺点

  • 优点:
    Hibernate直接提供相关支持,底层驱动可以随意切换数据库,快速简洁。
    ②使业务层与具体数据库分开,只针对Hibernate 进行开发,完成数据和对象的持久化。并且可以针对不同的数据库形成不同的SQL 查询语句,降低数据库之间迁移的成本。
    Hibernate支持多种缓存机制,可以适配多种数据库。
    ④非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。
  • 缺点:
    ①无法对SQL进行优化。虽然有HQL但性能还是很差。
    ②框架中遵循ORM原则,大型项目表多的话,会导致配置文件过于复杂,性能和维护问题就令人头疼。
    ③执行效率不高,比原生的JDBC差,尤其是在批量处理数据的时候。这也是ORM框架的弱点。
    ④不支持批量修改,删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值