適用於 hapi 開發者的完美 ORM

使用 Prisma 在 hapi 應用中查詢 MySQL、PostgreSQL 和 SQL Server 資料庫資料——一款適用於 JavaScript 和 TypeScript 的更優 ORM。

tech

什麼是 Prisma?

Prisma 提供資料庫工具,是構建高效能 Next.js 應用程式的完美伴侶,並提供出色的開發體驗(DX)。

ORM

Prisma ORM 是最流行的 TypeScript ORM。它具有人類可讀的模式、自動化遷移以及直觀、完全型別安全的查詢 API。

瞭解更多關於 Prisma ORM 的資訊

Postgres

Prisma Postgres 是第一個無冷啟動的無伺服器資料庫。它基於unikernels,在裸機上執行,並內建快取、高效能查詢和無縫擴充套件——所有這些都提供了出色的開發體驗(DX)。

瞭解更多關於 Prisma Postgres 的資訊

Prisma 和 hapi 如何協同工作

Prisma 是一種新一代 ORM,用於在 hapi 應用程式中查詢資料庫。您可以將其作為編寫純 SQL 查詢、使用 knex.js 等查詢構建器或 TypeORM、MikroORM 和 Sequelize 等傳統 ORM 的替代方案。

雖然 Prisma 與 hapi 配合得很好,但您也可以將其與 koa.js、Fastify 或 FeathersJS 等其他任何 Web 框架一起使用。Prisma 可用於構建 RESTGraphQL API,並與微服務和單體架構無縫整合。

Prisma 和 Hapi 的用例

Prisma 提供了一個方便的資料庫訪問層,可與 hapi 完美整合。

以下程式碼演示了在使用 hapi 構建 API 伺服器時 Prisma 的各種用法。

prismaPlugin

prismaPlugin

prismaPlugin 是域或模型特定外掛的基礎。它包含的 PrismaClient 例項為應用程式的其餘部分提供了資料庫介面。

1import { PrismaClient } from '@prisma/client'
2import Hapi from '@hapi/hapi'
3
4declare module '@hapi/hapi' {
5 interface ServerApplicationState {
6 prisma: PrismaClient
7 }
8}
9
10const prismaPlugin = {
11 name: 'prisma',
12 register: async function(server) {
13 const prisma = new PrismaClient()
14
15 server.app.prisma = prisma
16
17 server.ext({
18 type: 'onPostStop',
19 method: async (server) => {
20 server.app.prisma.$disconnect()
21 },
22 })
23 },
24}
25
26export default prismaPlugin
usersPlugin
Prisma 模式

prismaPlugin

prismaPlugin 是域或模型特定外掛的基礎。它包含的 PrismaClient 例項為應用程式的其餘部分提供了資料庫介面。

1import { PrismaClient } from '@prisma/client'
2import Hapi from '@hapi/hapi'
3
4declare module '@hapi/hapi' {
5 interface ServerApplicationState {
6 prisma: PrismaClient
7 }
8}
9
10const prismaPlugin = {
11 name: 'prisma',
12 register: async function(server) {
13 const prisma = new PrismaClient()
14
15 server.app.prisma = prisma
16
17 server.ext({
18 type: 'onPostStop',
19 method: async (server) => {
20 server.app.prisma.$disconnect()
21 },
22 })
23 },
24}
25
26export default prismaPlugin

為什麼選擇 Prisma 和 hapi?

無縫整合

Prisma 完美契合 hapi 的靈活架構,無論是構建 REST 還是 GraphQL API。

更高的生產力

Prisma 為您提供資料庫查詢自動補全、出色的開發體驗和全面的型別安全。

型別安全的資料庫客戶端

Prisma Client 確保完全型別安全的資料庫查詢,並提供自動補全等優點——即使在 JavaScript 中也是如此。

直觀的資料建模

Prisma 的宣告式建模語言簡單直觀,讓您能夠直觀地描述您的資料庫模式。

輕鬆進行資料庫遷移

從宣告式 Prisma 模式生成可預測且可定製的 SQL 遷移。

專為構建 API 而設計

Prisma Client 透過為常見的 API 功能(例如:分頁、篩選等)提供查詢,減少了樣板程式碼。

精選 Prisma 和 hapi 示例

使用 TypeScript、PostgreSQL 和 Prisma 構建現代後端

使用 hapi 和 Prisma 構建現代後端的系列教程

REST API 快速入門套件

一個帶有 SQLite 資料庫的 REST API 即用型示例專案

GraphQL API 快速入門套件

一個帶有 SQLite 資料庫的 GraphQL API 即用型示例專案

© . This site is unofficial and not affiliated with Prisma Data, Inc.