(一)简介
Hibernate是一个开源的轻量级的框架。没有Hibernate之前,我们是直接使用sql语句对数据库进行操作。直接对数据库操作,已经不符合我们面向对象的思想了。于是ORM就应运而生了。
什么是ORM?Object Relational Mapping。对象关系映射。就是让实体类和数据库表进行一一对应,实体类里面的属性和数据库表里的字段对应,我们不需要直接操作数据库,而通过操作表对应的实体类即可完成对数据库的操作。
(二)搭建环境
一、引入jar包
二、创建一个实体类,以User为例。
使用Hibernate时,我们不需要自己手动创建表,经过一定的配置,Hibernate会自动把表创建。
三、配置实体类和数据库的映射关系。以User类为例,我们需要创建User.hbm.xml文件
引入约束
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--1.配置类和表对应:class标签:name表示实体类(User)的全路径,table表示数据库表名称 -->
<class name="cn.itcast.shop.user.vo.User" table="user">
<!-- 2.配置实体类属性和表字段一致
id标签:name是实体类的id名称;column是表字段名称
property标签:name是实体类的属性名称;column是表字段名称
-->
<id name="uid">
<generator class="native"/>
</id>
<property name="username" column="username"/>
<property name="password" column="username"/>
</class>
</hibernate-mapping>
四、创建Hibernate的核心配置文件
Hibernate的核心配置文件的名称和位置必须固定。名称必须为hibernate.cfg.xml,必须放在src文件下
引入约束
(1)配置数据库连接信息:数据库驱动类型,和数据库的连接信息等
<!-- 1.数据库连接信息 -->
<property name="dialect">
org.hibernate.dialect.MySQL5InnoDBDialect
</property>
<property name="connection.url">
jdbc:mysql:///itcastoa0720
</property>
<property name="connection.driver_class">
com.jdbc.mysql.Driver
</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
(2)配置Hibernate的一些可选信息。
<!--在控制台输出执行的sql语句-->
<property name="show_sql">true</property>
<!--配置自动生成数据库表-->
<property name="hbm2ddl.auto">update</property>
(3)加载.hbm.xml映射文件。因为Hibernate执行过程之后,只会默认加载Hibernate的核心配置文件。
<!-- 3.声明导入映射文件 -->
<mapping resource="cn/itcast/oa/domain/Role.hbm.xml" />
这样。Hibernate的搭建环境就完成了。
(三)测试
下面我们写一个单元测试方法测试一下。
值得一提的是:数据库表自动创建是在sessionFactory创建时发生的。
接下来我们会进行三大框架整合。事务管理和sessionFactory的创建都会交给spring来完成。这样就大大减少了我们的代码量,也会提高我们的效率。