-
什么是hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。(来源“百度百科”)。
Hibernate框架应用在java ee三层结构中 dao层框架,在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂jdbc代码了,不需要写sql语句实现。
-
orm思想
ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。 (来源“百度百科”)。
ORM就是实现对象关系映射 ,让实体类和数据库表实现一一对应关系,让我们在进行数据库操作时,不需要直接操作数据库表,而操作表对应实体类对象的一种思想。
让实体类和表一一对应,类和表对应,类里边的属性和表里边的字段对应。
-
Hibernate入门
-
搭建环境
导入hibernate的jar包+连接数据库的jar包+日志输出的jar包
-
创建实体类
public class User {
private int uid;
private String username;
private String password;
private String address;
public int getUid(){
......
}
}
-
配置实体类和数据库表一一对应关系
使用配置文件实现映射关系
1.配置XML配置文件
——映射配置文件名称和位置没有固定要求
——建议:在实体类所在包里面创建,实体类名称.hbm.xml
2.配置是是xml格式,在配置文件中首先引入dtd约束
3.配置映射关系
<?xml version="1.0" encoding="UTF-8"?>
<!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属性:实体类全路径
table属性:数据库表名称
-->
<class name="cn.itcast.entity.User" table="t_user">
<!-- 2 配置实体类id和表id对应
hibernate要求实体类有一个属性唯一值
hibernate要求表有字段作为唯一值
-->
<!-- id标签
name属性:实体类里面id属性名称
column属性:生成的表字段名称
-->
<id name="uid" column="uid">
<!-- 设置数据库表id增长策略
native:生成表id值就是主键自动增长
-->
<generator class="uuid"></generator>
</id>
<!-- 配置其他属性和表字段对应
name属性:实体类属性名称
column属性:生成表字段名称
-->
<property name="username" column="username"></property>
<property name="password" column="password"></property>
<property name="address" column="address"></property>
</class>
</hibernate-mapping>
4.创建hibernate的核心配置文件
a.核心配置文件格式xml,但是核心配置文件名称和位置固定的
——位置:必须src下面
——名称:必须hibernate.cfg.xml
b.引入dtd约束
c.hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载
第一部分: 配置数据库信息 必须的
第二部分: 配置hibernate信息 可选的
第三部分: 把映射文件放到核心配置文件中
-
实现添加操作
-
加载hibernate核心配置文件
-
创建SessionFactory对象
-
使用SessionFactory创建session对象
-
开启事务
-
写具体逻辑 crud操作
-
提交事务
-
关闭资源
public class HibernateDemo {
@Test
public void testAdd() {
// 第一步 加载hibernate核心配置文件
// 到src下面找到名称是hibernate.cfg.xml
//在hibernate里面封装对象
Configuration cfg = new Configuration();
cfg.configure();
// 第二步 创建SessionFactory对象
//读取hibernate核心配置文件内容,创建sessionFactory
//在过程中,根据映射关系,在配置数据库里面把表创建
SessionFactory sessionFactory = cfg.buildSessionFactory();
// 第三步 使用SessionFactory创建session对象
// 类似于连接
Session session = sessionFactory.openSession();
// 第四步 开启事务
Transaction tx = session.beginTransaction();
// 第五步 写具体逻辑 crud操作
//添加功能
User user = new User();
user.setUsername("蚂蚁");
user.setPassword("1314520");
user.setAddress("中国");
//调用session的方法实现添加
session.save(user);
// 第六步 提交事务
tx.commit();
// 第七步 关闭资源
session.close();
sessionFactory.close();
}
}