Hibernate入门
Hibernate入门
一 Hibernate的由来
由于面向对象的编程语言都是以对象形式持有数据,在把对象的数据转而存储到关系数据库的表中时就会发生如下不匹配的问题:
(1)对象模型中对象与对象之间的关联关系与关系模型中数据库之间的关系无法一一对应
(2)对象模型中的对象的继承关系在关系模型中无法直接表示
(3)对象模型中对象的等值性在关系模型中无法直接实现
(4)对象模型中有关联的对象之间的导航访问在关系模型中无法直接实现
注:对象的导航是通过一个对象查找到另一个对象
二 Hibernate的作用
(1)它是连接java应用程序和关系数据库的中间件
(2)它是JDBC API进行了封装,负责java对象的持久化
(3)在分层的软件架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑
(4)它是一种ORM工具,能够建立面向对象的域模型和关系模型的映射
三 搭建hibernate应用开发环境 --- 下载和安装配置
(1)首先登入到Hibernate的官方网站http://www.hibernate.org.6.html去下载一个Hibernate Core的二进制包 hibernate-distribution-3.6.8.GA-dist.zip
(2)解压这个压缩包,其中在根目录下有一个hibernate3.jar文件,它既是Hibernate Core的核心类库文件。在配置环境的时候需要导入的包都从此压缩包中获得,分别要导的是:
根目录下:
hibernate.jar
在根目录下的lib\required:
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar 是日志服务通用库
在根目录下的lib\jpa
hibernater-jpa-2.0-api-1.0.1.Final.jar
数据库的连接驱动
mysql-connector-java-5.1.5-bin.jar
这九个包是必备的,但是因为是和数据库建立的映射,所以要有和数据库连接的配置文件才行,而这个配置文件而是和映射文件连接的桥梁,配置文件一般情况下取名为hibernate.cfg.xml,里面的内容包括和数据库连接的驱动、用户名、密码等等,每一个hibernate都有一个配置文件,这个配置文件是放在src下的,其实是放在classes文件下的,当放到src下的时候,会自动导入到classes文件夹下,配置文件的信息为:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- 配置文件 -->
<hibernate-configuration>
<session-factory>
<!—加载驱动-à
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!—要连接的数据库名-à
<property name="hibernate.connection.url">jdbc:mysql:///demo1</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">1234</property>
<!-- 方言-- 针对哪个数据库Mysql -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!—在向数据库中插入的时候,如果没有就更新-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 执行的sql语句显示出来 为了更好的指定执行的过程,即是将数据库shema的DDL导出到数据库-->
<property name="hibernate.show_sql">true</property>
</session-factory>
</hibernate-configuration>
这样,就配置好了hibernate的环境,可以搭建hibernate的应用开发环境了,
下面我们来搭建第一个hibernate应用程序