本文主要是从技术操作角度去介绍hibernate,并且简单描述如何快速的上手操作hibernate,用于作为与数据库的连接的持久层。
简单讲述一下hibernate究竟是什么,它有什么作用,在理解它的作用之前,我们先想一想,在一个项目当中,我们需要将项目当中的数据存入数据库,或者从数据库中读取项目当中需要的数据进行操作,我们往常一般使用什么方法呢?首先想到的就是通过JDBC去对数据库进行手动的操作,编写一个连接数据库的模块,通过加载driver并且手动编写增删改查方法联通程序与数据库当中的数据,这种方式很繁琐,并且在对不同的表格操作的时候,还需要手动修改SQL语句,与我们面向对象编程的设计思想不符,于是提出了ORM。
所谓的ORM(Object ralational mapping)是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术,简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据中。即将数据库表当中的一行数据,转化到java当中的某个pojo类的实例,本质上就是将数据从一种形式转换到另外一种形式。
从图中的每层之间的关系也可以很直观的看出,本文所介绍的Hibernate主要就是用于做持久层,并且提供ORM的重要组件。
通过Hibernate,我们将对象转换存入数据库,或者反向将数据从数据库提取生成对象就无需再手动编写jdbc的增删改查并且像对象填入字段的代码模块,在建立好orm映射之后,我们只需要操作我们所定义的pojo类,并且使用Hibernate提供的方法即可将pojo对象存入对应的数据库当中,无需关注实现细节,便于简化编程。
在理解什么是orm,并且知道Hibernate在我们编程当中所扮演的角色以及所提供的作用之后,我们开始来了解如何使用Hibernate来实现我们的程序持久层,本文采用的是hibernate 5.1版本对mysql数据进行连接,进行demo演示,首先创建一个java project,并且将hibernate根目录下的 /lib/required 文件夹下的所有jar包引入工程,并且再将 /lib/java8 目录下的jar包引入工程当中,除此之外,因为要与mysql数据库进行连接,还需要提供mysql数据库连接的驱动jar包mysql-connector-java-5.1.26-bin.jar,将这些包都引入并且build the path之后,我们的工程环境就搭建完成。