Hibernate入门学习第一天

Hibernate框架(第一天)

首先我来解释下,为啥放着Mybaties 不学,不是我不学,而是臣妾做不到啊,对于一个刚毕业的小萌新来说,呜呜呜,还没怎么办,难道还不学习嘛,我也不想学习这么古老的持久层框架. 妈妈呀,但是没有办法公司里面技术现在只能用这个框架啊.所以说我来总结下自己学习的思路路线. 瑞斯拜,开始喽!!!

学习路线:
在这里插入图片描述

.Web内容回顾

.javaEE三层结构

web层 struts2框架
servic层 spring框架
dao 层 hibernate框架
(1)对数据库进行简单的CRUD操作

.MVC思想

m:模型

v: 视图

c:控制器

Hibernate 简述

什么是框架

写程序,使用框架之后,帮我们实现一部分功能,使用框架好处,少写一部分代码实现功能

什么是Hibernate框架?

  1. Hibernate框架应用于javaee 三层中的dao层的框架

  2. 在dao层里面对数据库进行CRUD 操作,实用Hibernate 实现了CRUD操作

    Hibernate 底层代码就是jdbc ,Hibernate 对jdbc进行了封装,使用Hibernated的好处,不需要写复杂的jdbc 代码了,不需要写SQL语句实现。

  3. Hibernate 开源的轻量级的框架。

  4. Hibernate版本(Hibernate 3.x ,Hibernate 4.0,Hibernate 5.0(学习)

什么是ORM思想?

​ 1. hibernate 使用orm思想对数据库进行CRUD操作

  1. 在web阶段学习Javabean,更正确叫法 实体类

  2. orm : object relational mapping ,对象关系映射

    (1)文字描述:

    让实体类和数据库进行–对应关系

    让实体类属性和表里面字段进行对应

    (2) 不需要直接操作数据库表,而操作表中对应的实体类对象

    画图描述:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LXZSmZ8a-1628409372981)(C:\Users\86182\AppData\Roaming\Typora\typora-user-images\1628217941748.png)]

Hibernate 入门案例

1.搭建Hibernate 环境

第一步 导入hibernate 的jar 包

因为使用Hibernate时候,有日志信息输出,Hibernate本身没有输出日志的jar包,导入其他日志的jar包

不要忘记还有mysql驱动的jar包

第二步 创建实体类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Tv1PHze-1628409372982)(C:\Users\86182\AppData\Roaming\Typora\typora-user-images\1627893790062.png)]

(1)使用Hibernate时候,不需要自己手动的创建表,Hibernate帮把表创.

第三步 配置实体类和数据库表—对应关系(映射关系)

(1)使用配置文件实现映射关系

1.创建一个xml格式配置文件映射配置文件名称和位置没有固定要求

建议。在实体类所在的包里面创建,实体类名称bm.xml

(2)配置是是xml格式,在配置文件中首先引入xml约束

学过约束dtd、schema,在hibernate 里面引入的约束dtd约束。在这里插入图片描述
(3)搭建Hibernate环境
![在这里插入图片描述](https://img-blog.csdnimg.cn/52b529fa0e664a92a6b33b8e364e1010.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9在这里插入图片描述
在这里插入图片描述
第四步:创建的hibernate 核心配置文件

(1)核心配置文件格式xml ,但是核心配置文件名称和位置固定。

(2)位置:必须src 下面

​ 名称:必须是hibernate.cfg.xml

​ 引入dtd 约束
在这里插入图片描述

(3)hibernate 操作过程中,只会加载核心配置文件,其他配置文件不会加载。

第一部分:配置数据库信息

第二部分:配置Hibermate 信息

在这里插入图片描述

第三部分:把映射文件放到核心配置文件中。
在这里插入图片描述

实现添加操作

第一步:加载hibernate 核心配置文件

第二步:创建SessionFactory对象

第三步:使用SessionFactory创建Session对象

第四步:开启事务

第五步: 写具体逻辑CRUD操作

第六步:提交事务

第七步:关闭资源

看到效果

(1)是否生成表

(2)看表是否有记录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Hibernate映射文件详解

1.映射配置文件名称和位置没有固定要求

2.映射配置文件中,标签 name 属性值没有实体类相关内容

(1)class标签和name属性值实体类全路径。

(2)id标签和property 标签 name 属性值实体类属性名称

3.id 标签和property标签 ,属性column 可以省略的

(1)不写值和name 属性值一样

4.property标签tyepe 设置属性,设置生成表字段类型,自动对应类型

Hibernate 核心配置文件详解

  1. 配置位置要求
    在这里插入图片描述

2.配置三部分要求

(1)数据库部分必须

(2)hibernate部分可选

(3)映射文件必须的

3.核心配置文件名称和位置是固定的

(1)位置:src下面

(2)名称下面:hibernate.cfg.xml

Hibernate 核心api的使用

Configuration

在这里插入图片描述

SessionFactory(重点)

使用Configuration 对象创建 sessionFactory 对象

(1)创建sessionfactory 过程中做事情

根据配置文件中,有数据库配置文件,有映射文件部分,到数据库里面根据映射关系把表创建

在这里插入图片描述

2.创建sessionFactory 过程中,这个过程特别耗资源的。

(1)在hibernate操作中,建议一个项目一般创建一个sessionFactory对象

3.具体实现

(1)写工具类,写静态代码块,执行一次

静态代码块在类加载时候执行,执行一次。
在这里插入图片描述

Session(重点)

1.session 类似于jdbc 中的connection

2.调用session 里面不同的方法实现CRUD操作

(1)添加save 方法

(2)修改update 方法

(3)删除delete方法

(4)根据id查询get方法

3.session对象单线程对象

(1)session对象不能公用,只能自己使用

4.Traansaction

1.事务对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-misQq6aI-1628409372998)(C:\Users\86182\AppData\Roaming\Typora\typora-user-images\1628232756245.png)]

3.事务概念

(1) 事务的四大特性

原子性,一致性,隔离性,持久性

解决配置文件

不同的方法实现CRUD操作

(1)添加save 方法

(2)修改update 方法

(3)删除delete方法

(4)根据id查询get方法

3.session对象单线程对象

(1)session对象不能公用,只能自己使用

4.Traansaction

1.事务对象

[外链图片转存中...(img-misQq6aI-1628409372998)]

3.事务概念

(1) 事务的四大特性

原子性,一致性,隔离性,持久性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值