发表于: 2017-11-30 21:50:59

0 649


【今日完成】

学了一波hibernate,准备小课堂



一、Hibernate是对JDBC进一步封装

       原来没有使用Hiberante做持久层开发时,存在很多冗余,如:各种JDBC语句,connection的管理,所以出现了Hibernate把JDBC封装了一下,我们不用操作数据,直接操作它就行了。
 

二、我们再从分层的角度来看

       我们知道非常典型的三层架构:表示层,业务层,还有持久层。Hiberante也是持久层的框架,而且持久层的框架还有很多,比如:IBatis,Nhibernate,JDO,OJB,EJB等等。

 

三、Hibernate是开源的一个ORM(对象关系映射框架

      ORM,即Object-Relational Mapping,它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了(把关系数据库的字段在内存中映射成对象的属性)。

 

优点:

1、更加对象化

      以对象化的思维操作数据库,我们只需要操作对象就可以了,开发更加对象化。

2、移植性
      因为Hibernate做了持久层的封装,你就不知道数据库,你写的所有的代码都具有可复用性。

3、Hibernate是一个没有侵入性的框架,没有侵入性的框架我们称为轻量级框架。

      对比Struts的Action和ActionForm,都需要继承,离不开Struts。Hibernate不需要继承任何类,不需要实现任何接口。这样的对象叫POJO对象。

4、Hibernate代码测试方便。

5、提高效率,提高生产力。

 

缺点:

1、使用数据库特性的语句,将很难调优

2、对大批量数据更新存在问题

3、系统中存在大量的攻击查询功能


Hibernate配置文件:

<span style="font-size:12px;"><!DOCTYPE hibernate-configuration PUBLIC
   "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

   <hibernate-configuration>
       <session-factory>
           <!-- 驱动 -->
           <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
           <!-- 数据库URL -->
           <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</property>
           <!-- 数据库用户名 -->
           <property name="hibernate.connection.username">root</property>
           <!-- 数据库密码 -->
           <property name="hibernate.connection.password">123456</property>
           <!-- mysql的方言 -->
           <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

           <!-- 映射文件,若使用注解,则这里写配置类 -->
           <!--  <mapping resource="com/liang/hibernate/User.hbm.xml"/>  -->

           <!-- 由原来的映射文件,改成实体类 -->
           <mapping class="com.liang.hibernate.User"/>

       </session-factory>
   </hibernate-configuration></span>  


什么是关系映射?

   ORM(Object Relational Mapping),即对象关系映射。它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。


【明日计划】

讲小课堂


【今日收获】

学习了Hibernate


返回列表 返回列表
评论

    分享到