可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

使用 UpdatableRecords 进行 CRUD 操作

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

您的数据库应用程序可能由 50% - 80% 的 CRUD 组成,而只有剩余的 20% - 50% 的查询是实际的查询。大多数情况下,您将在表的记录上操作,而无需使用任何高级关系概念。这被称为 CRUD,因为

CRUD 总是使用相同的模式,而与底层表的性质无关。同样,如果您必须自己发出语句,这会导致大量的样板代码。像 Hibernate / JPA 和其他 ORM 一样,jOOQ 使用涉及 org.jooq.UpdatableRecord 类型的特定 API 来简化 CRUD。

主键和可更新性

在规范化的数据库中,每个表都有一个主键,通过该主键可以唯一地标识该表中的元组/记录。在简单的情况下,这是一个(可能自动生成的)名为 ID 的数字。但在许多情况下,主键包含多个非数字列。这种键的一个重要特性是,在大多数数据库中,它们都使用索引来强制执行,从而可以非常快速地随机访问表。访问/修改/删除书籍的典型方法是

-- Inserting uses a previously generated key value or generates it afresh
INSERT INTO BOOK (ID, TITLE) VALUES (5, 'Animal Farm');

-- Other operations can use a previously generated key value
SELECT * FROM BOOK WHERE ID = 5;
UPDATE BOOK SET TITLE = '1984' WHERE ID = 5;
DELETE FROM BOOK WHERE ID = 5;

规范化的数据库假设主键是“永久”唯一的,即一旦将键插入到表中,在删除后将永远不会更改或重新插入。为了正确使用 jOOQ 的 CRUD 操作,您应该相应地设计数据库。

反馈

您对此页面有任何反馈吗?我们很乐意听到您的反馈!

The jOOQ Logo