【Hibernate】(一)入门及原理

(一)简介

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来完成。这样就大大减少了我们的代码量,也会提高我们的效率。


评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值