Hibernate框架学习
Hibernate框架学习
李阿昀
昀,三尺微命,一介书生。只当穷且益坚,不坠青云之志!
展开
-
Hibernate入门第一讲——Hibernate框架的快速入门
Hibernate框架介绍什么是Hibernate我们可以从度娘上摘抄这样有关Hibernate的介绍: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以原创 2019-08-04 14:59:27 · 119576 阅读 · 59 评论 -
Hibernate入门第二讲——XML文件提示的配置
不知大家有没在编写Hibernate核心配置文件和映射配置文件时,遇到这样一个问题:如果你遇到了这样子的问题,说明你还没有配置XML文件的提示。你不仅就要问,如何配置XML文件的提示呢?这也是要分情况的,因为Hibernate核心配置文件和映射配置文件的提示我们都是要配置的。配置Hibernate核心配置文件的提示打开hibernate.cfg.xml文件,复制如下内容:依次点击Win...原创 2019-08-04 16:13:38 · 3142 阅读 · 0 评论 -
Hibernate入门第三讲——Hibernate的常见配置
在《Hibernate快速入门》一文中,我有讲到Hibernate的两个配置文件,今天就来详细地介绍这两个配置文件。Hibernate的配置详解在Hibernate中,我们使用时主要有两种配置文件:核心配置文件——hibernate.cfg.xml(主要描述Hibernate的相关配置)映射配置文件——xxx.hbm.xml核心配置文件Hibernate的核心配置文件,即hibernate.c原创 2019-08-05 08:34:30 · 17907 阅读 · 16 评论 -
Hibernate入门第四讲——Hibernate的核心API
百度Hibernate,可在度娘上看到如下文字:还记得上一篇文章讲的是《Hibernate入门第三讲——Hibernate的常见配置》,本文继续在其基础之上讲解Hibernate的核心API。Configuration:Hibernate的配置对象从度娘上我们可以看到Configuration的定义:从以上文章中,我们可以知道Configuration类主要是用于加载Hibernate...原创 2019-08-05 09:59:30 · 2974 阅读 · 3 评论 -
Hibernate入门第五讲——Hibernate持久化类与主键生成策略
Hibernate持久化类什么是持久化类呢?在Hibernate中持久化类的英文名称是Persistent Object(简称PO),PO=POJO+hbm映射配置文件。 对于Hibernate中的PO,有如下编写规则:必须提供一个无参数的public构造方法。所有属性要用private修饰,对外提供public的get/set方法。在PO类必须提供一个标识属性,让它与数据库中的主键对应,我原创 2017-03-23 23:02:27 · 4978 阅读 · 3 评论 -
Hibernate入门第六讲——持久化类的三种状态与Hibernate的一级缓存
持久化类首先,开宗明义,再一次提醒大家,持久化类=Java类+映射配置文件。持久化类的三种状态Hibernate是一个持久层框架,它通过持久化类来完成ORM基本操作。Hibernate为了更好的管理持久化类,于是它就将持久化类分成了三种状态。下面我会对每一个状态分别加以阐述。瞬时态瞬时态也叫做临时态或自由态,它一般指我们new出来的对象,它不存在OID,且与Hibernate Ses...原创 2019-08-06 16:50:44 · 1584 阅读 · 2 评论 -
Hibernate入门第七讲——Hibernate中的事务管理
事务介绍什么是事务?事务就是逻辑上的一组操作,组成这组操作的各个单元要么全部成功,要么全都失败。事务的四个特性原子性:不可分割的一个整体。一致性:事务在执行前后,要保证数据的一致。隔离性:一个事务在执行的过程中,不应该受到其它事务的干扰。持久性:事务一旦结束,数据就持久化到数据库中。不考虑事务的隔离性,会产生什么问题?不考虑事务的隔离性,会产生如下问题:脏读:一个事务读取到另一个事务的未原创 2017-04-24 18:55:12 · 2448 阅读 · 0 评论 -
Hibernate入门第八讲——Hibernate的其他API
Query你可从度娘上可看到这样的文字:我们主要通过Query完成查询操作,通过Query即可以执行HQL语句,如下:Query query = session.createQuery("HQL语句");又可以执行本地SQL语句:SQLQuery sqlQuery = session.createSQLQuery("本地SQL语句");温馨提示:SQLQuery是Query的子类...原创 2019-08-07 12:15:34 · 1289 阅读 · 6 评论 -
Hibernate入门第九讲——数据库中表与表之间的关系
Hibernate关联映射——对象的三种关系Hibernate框架基于ORM设计思想,它将关系型数据库中的表与我们java中的类进行映射,一个对象就对应着表中的一条记录,而表中的字段对应着类中的属性。数据库中表与表之间存在着三种关系,也就是系统设计中的三种实体关系。下面进行简单阐述。一对一创建表的原则有两种:唯一外键对应 在任意一方添加一个外键来描述对应关系。如下图所示: 或者 主键对应原创 2017-04-12 22:53:23 · 5818 阅读 · 0 评论 -
Hibernate入门第十讲——Hibernate的一对多关联映射
Hibernate关联映射——一对多(多对一)我们以客户(Customer)与订单(Order)为例来讲解Hibernate关联映射中的一对多关联关系。 首先肯定是搭建好Hibernate的开发环境,我在此也不过多赘述,读者自行实践。接着在src目录下创建一个cn.itheima.oneToMany包,并在该包下创建两个实体类,如下:客户类// 客户 ---- 一的一方public class原创 2017-04-13 02:36:59 · 12249 阅读 · 6 评论 -
Hibernate入门第十一讲——Hibernate的多对多关联映射
在上一讲中,已经讲解过Hibernate中的一对多关联映射了,现在在其基础上,我们来讲解一下Hibernate中的多对多关联映射。环境搭建创建表这里我们以用户(User)与角色(Role)为例来讲解Hibernate关联映射中的多对多关联关系,因此我们要在数据库下新建三张表——用户表、角色表以及中间表,这里笔者使用的数据库是MySQL。CREATE TABLE `sys_user` ( ...原创 2019-08-08 09:57:09 · 1170 阅读 · 0 评论 -
Hibernate入门第十二讲——Hibernate的检索方式
Hibernate检索方式概述我们在对数据库的操作中,最常用的是select,那么使用Hibernate如何进行select操作呢?本文就来徐徐道来。 Hibernate检索方式可分为5种:导航对象图检索方式,根据已加载的对象导航到其它对象。OID检索方式,按照对象的OID来检索对象。HQL检索方式,使用面向对象的HQL查询语言。QBC检索方式,使用QBC(Query by Criteri原创 2017-04-23 22:46:24 · 3932 阅读 · 2 评论 -
Hibernate入门第十三讲——Hibernate中的多表查询
Hibernate中的多表操作在实际开发中,我们不可能只是简简单单地去操作单表,绝大部分都是要对多表进行操作的。所以本文就来讲述Hibernate中的多表操作,讲之前,先复习一下使用SQL语句是如何进行多表操作的。提示:本文所有案例代码的编写都是建立在前文Hibernate检索方式概述的案例基础之上的!!!SQL多表操作SQL多表操作可分为如下几类:交叉连接(CROSS JOIN) 交叉连接其实原创 2017-04-23 23:07:46 · 3979 阅读 · 0 评论 -
Hibernate入门第十四讲——Hibernate的优化方案与抓取策略
HQL优化使用参数绑定 使用绑定参数的原因是让数据库一次解析SQL,对后续的重复请求可以使用生成好的执行计划,这样做节省CPU时间和内存。避免SQL注入。尽量少使用NOT 如果where子句中包含not关键字,那么执行时该字段的索引失效。尽量使用where来替换having having在检索出所有记录后才对结果集进行过滤,这个处理需要一定的开销,而where子句限制记录的数目,能减少原创 2017-04-25 23:44:06 · 10201 阅读 · 5 评论