促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
级别 16
标准API
SQL & Hibernate
第 16 级,
课程 0
Criteria API 简介 在 Hibernate 中有两种写数据库查询的方法: 休眠查询语言 标准API 您很久以前就已经遇到过第一个,是时候熟悉 Criteria API 了。这是一个非常强大的工具,在某些时候它甚至比 HQL 更受欢迎。现在它不再那么流行了,但对于某些任务来说,它肯定是比 HQL 更好的解决方案。 无论如何,不熟悉 Criteria API 就无法学习 Hibernate。我们先写一个小例子,然后我们来分析。例如,我们会从数据库中请求所有员工(Emp
标准 API 第 2 部分
SQL & Hibernate
第 16 级,
课程 1
分组和聚合函数 您已经了解了如何向 Criteria API 发出简单请求。让我们看看如何进行更复杂的查询。 例如,我们要编写一个查询来确定一家公司的员工人数。下面是它在 HQL 中的样子: select count(*) from Employee 在 Criteria API 上像这样: CriteriaQuery critQuery = builder.createQuery(Long.class);
本机查询
SQL & Hibernate
第 16 级,
课程 2
3.1 简介 我想谈的另一个有用的东西是NativeQuery。如您所知,使用 NativeQuery,您可以使用本机 SQL 编写查询。然而,更有趣的是,您不必在获取查询结果时使用类映射。 我宁愿给你看一个例子: List persons = session.createNativeQuery("SELECT * FROM Person").list();
交易
SQL & Hibernate
第 16 级,
课程 3
4.1 Hibernate 中的事务介绍 对于以上所有内容,我想添加有关交易的信息。如您所知,事务是一组必须一起执行的操作。如果任何操作失败或执行出错,则必须取消所有其他操作。 Hibernate 能够处理两种类型的事务: JDBC JTA JDBC 事务实际上是数据库事务。它与使用数据库、JDBC 连接相关联。并且他确保使用数据库时的操作按应有的方式执行:要么全部执行,要么什么都不执行。 JTA - 事务是应用程序级别的事务。它不绑定到任何数据库。它的任务是确保执行某些操作
道
SQL & Hibernate
第 16 级,
课程 4
DAO简介 当通过 JDBC 甚至通过 Hibernate 使用数据库时,代码往往比我们想要的更麻烦。数据库查询通常包含: 数据验证 设置请求参数 根据查询参数选择 HQL 查询 使用 Criteria API 构建查询 缓存设置 初始错误处理等 因此,通常的做法是创建特殊的类来处理数据库。这样的类称为 DAO,数据访问对象。他们的任务是隐藏使用数据库的所有复杂性,并为外部提供一个美观方便的接口。 例子: public class EmployeeDAO {
关于 Hibernate 的有用的细微差别
SQL & Hibernate
第 16 级,
课程 5
同时与两个基地合作 很多时候,您需要同时处理两个基地。例如,您从一个数据库中读取数据,对其进行处理并将其写入另一个数据库。 或者更常见。您的应用程序有一个本地数据库可以使用,也可以从支持 SQL 数据查询格式的各种远程源读取数据。例如 Excel。 对于这些远程数据源,定制您的 Hibernate 映射非常有用,这样应用程序的业务逻辑可以更简单并且只使用 Java 对象。 最简单的方法是拥有多个配置文件。例如,像这样: hibernate_oracle.cfg.xml
测试休眠代码
SQL & Hibernate
第 16 级,
课程 6
基于内存和测试 现在是最有趣的。在测试 Hibernate 代码时,通常您不想使用真正的基础,而是使用某种实现最少功能的存根。 您能想象一个实现大部分 SQL Server 标准的存根吗?我没有。但是,内存数据库本身就非常出色。它的工作原理大致是这样的: 在@BeforeAll 方法中,我们初始化内存中的数据库连接。 在@BeforeEach 方法中,我们获取会话并打开一个事务。 在@Test 方法中,我们使用当前会话和事务。 在@AfterEach 方法中,我们提交事务。
Please enable JavaScript to continue using this application.