文章目录
- 1. hibernate简介
- 1.1. 什么是hibernate
- 1.2. Hibernate的作用
- 1.3. hibernate与JDBC对比
- 1.3.1. 使用JDBC具有以下缺点
- 1.3.2. 使用Hibernante的优点
- 1.3.3. 总结
- 1.4. Hibernate与Mybatis的对比
- 1.4.1. 共性
- 1.4.2. MyBaits
- 1.4.3. Hibernate
- 1.4.4. 总结
- 1.5. Hibernate框架设计原理
- 1.5.1. 设计原理
- 1.5.2. ORM思想
- 1.6. hibernate文档
hibernate简介
什么是hibernate
- hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据库访问提出的面向对象的解决方案
Hibernate的作用
- 使用Hibrenate可以直接访问对象,从hierbnate自动将此访问转换成SQL执行,从而达到间接访问数据库的目的,简化了数据访问层的代码开发
hibernate与JDBC对比
使用JDBC具有以下缺点
- 需要编写大量SQL语句
- 需要给大量的占位符
?
赋值 - 需要将ResultSet结果集转换成实体对象
- SQL中包含特有函数,无法移植
使用Hibernante的优点
- 自动生成SQL语句
- 自动给?参数赋值
- 自动将ResultSet结果集转换成实体对象
- 采用一致的方法对数据库操作,移植性好
总结
- 简单的来说,hibernate对JDBC进行了封装,比如JDBCTemplate可以简便的操作数据库,底层还是使用了JDBC
Hibernate与Mybatis的对比
共性
- 对JDBC进行了封装
- 采用ORM思想解决了Entity和数据库的映射问题
MyBaits
- Mybatis采用SQL与Entity映射,对JDBC封装成都较轻
- Mybatis需要程序猿自己写sql语句,更具灵活性
Hibernate
- Hibernate采用数据库和Entity映射。对JDBC封装程度较重 Hibernate自动生成SQL,对于基本的操作,开发效率高
总结
- Hibernate对JDBC的封装较重,程序猿不需要写SQL语句,比如写好映射关系就可以自动创建表,使用JDBCTemplate直接操作数据库
Hibernate框架设计原理
设计原理
- Hibernate采用了ORM思想对JDBC进行了封装
- Hibernate框架是ORM思想的一种体现,解决了对象和数据库映射问题
- Hibernate提供了一系列的API,允许我们直接访问实体对象,然后其根据ORM映射关系,转换成SQL并且去执行,从而达到访问数据库的目的
ORM思想
- ORM: Object Relation Mapping,即是对象关系映射,指的是java独享和关系数据库之间的映射
- ORM思想: 就是将对象与数据库进行相互转换的思想,不同的框架技术实现ORM的手段不同,但更多的是采用配置 反射的方式ORM
hibernate文档
- http://docs.jboss.org/hibernate/orm/3.5/reference/zh-CN/html/session-configuration.html#configuration-sessionfactory