美文网首页Java学习笔记
Hibernate(框架)学习总结

Hibernate(框架)学习总结

作者: 山谷与风的对话 | 来源:发表于2017-08-02 21:29 被阅读168次

    1、什么是Hibernate

    Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架(ORM,对象关系映射 Object Relationship mapper)

    ORM 就是通过将Java对象映射到数据库表,通过操作Java对象,就可以完成对数据表的操作

    轻量级:指的是对于内存,cpu资源消耗比较小,学习也相对容易。

    发展由来:

    jdbc实现DAO数据访问,dbutils框架来实现DAO操作可以简化数据库操作(但还不能脱离sql语句),hibernate也是一个持久层(DAO)框架不需要编写相关的sql语句就可以操作数据库。

    Orm对象关系映射要完成的工作是什么?

    完成的是类与表的映射,类中属性与表字段的映射。它们之间的这种映射关系是非常严格的,有专门的文件来实现这种映射关系的配置(配置文件实质就是一个xml文件,*.hbm.xml)。*的取名一般为实体类的类名。

    Hibernate要操作数据库同样也需要连接数据库,要连接数据库就必须有连接数据库的四项基本信息(driver, url,username,password),hibernate中为了规范(hibernate配置文件中包含有数据库连接的基本信息,文件名:hibernate.cfg.xml)

    Hibernate 就是底层使用了jdbc实现,并进行了封装的一个轻量级的持久化解决方案。

    Hibernate提供了对关系型数据库增删改成操作

    JPAJava Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系(只有接口规范)

    Hibernate最流行ORM框架,通过对象-关系映射配置,可以完全脱离底层SQL

    MyBatis本是apache的一个开源项目 iBatis,支持普通 SQL查询,存储过程和高级映射的优秀持久层框架

    Apache DBUtils 、Spring JDBCTemplate

    持久化技术有哪些?按封装程序由高到低排列

    Hibernate>mybatis>spring jdbcTemplate ,dbutils > jdbc

    2、Hibernate的优点

    Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

    Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作

    Hibernate使用Java的反射机制,而不是字节码增强程序类实现透明性

    Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系。

    Hibernate本身性能不是很好,存在很多优化手段(一级缓存、二级缓存、查询缓存、抓取策略)

    3、Hibernate准备工作

    1.准备hibernate3.x的开发包

    开发包文件结构

    lib文件夹内容

    补充:log4j(log for java) 用于记录日志

    Log4j的主要作用是解放程序员,避免程序员去操作IO流。

    什么是日志?

    用文本的方式将软件操作过程中所发生的一系列操作全部记录下来

    如何学习log4j?

    导入log4j.jar包

    学习如何配置log4j(配置文件:src/log4j.properties)

    准备完整所需的Hibernate的jar包

    准备hibernate配置文件(hibernate.cfg.xml)

    DTD约束文件在MyEclipse中的关联

    准备hibernate映射文件

    4、Hibernate操作

    7个步骤

    1.加载hibernate配置文件及映射文件

    2.得到SessionFactory对象(好比数据库连接池)

    3.得到Session对象(好比数据库连接Connection)

    4.开启事务

    5.执行CRUD操作

    6.提交或回滚事务

    7.关闭资源(session关闭 sessionFactory关闭 )

    相关文章

      网友评论

        本文标题:Hibernate(框架)学习总结

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