一、Hibernate简介(网上搜的,理解性地看看)
- 1.概念:Hibernate是持久层(数据访问层)的框架,对JDBC进行了封装,是对数据库访问提出的面向对象的解决方案。
- 2.作用:使用Hibernate可以直接访问对象,Hibernate自动将访问转换成SQL执行,从而实现简介访问数据库的目的,简化了数据访问层的代码开发。
- 3.JDBC、MyBatis对比:
a)JDBC需要编写大量SQL语句,以及对大量参数赋值。需要手动将ResultSet结果集转换成实体对象;SQL中包含特有函数,无法移植。而Hibernate可以自动生成SQL和参数赋值,自动将ResultSet结果集转换成实体对象,采用一致的方法对数据库操作,移植性好。
b)MyBatis与Hibernate都对JDBC进行了封装,采用ORM思想解决了Entity和数据库的映射问题。MyBatis采用SQL与Entity映射,对JDBC封装程度比较轻,需要自己写SQL,更具有灵活性;而Hibernate采用数据库与Entity映射,对JDBC封装程度比较重,自动生成SQL,对于基本的操作,开发效率高。 - 4.原理:Hibernate框架是ORM思想的一种实现,解决了对象和数据库映射问题。我们可以通过Hibernate提供的一系列API,允许我们直接访问实体对象,然后其根据ORM映射关系,转换成SQL并且执行,从而达到访问数据库的目的。ORM:Object Relation Mapping,即对象关系映射,指Java对象和关系数据库之间的映射。
ORM思想:将对象与数据库数据进行相互转换的思想,不同的框架实现ORM的手段不同,但更多的是采用配置+