在 hapi 應用程式中使用 Prisma 從 MySQL、PostgreSQL 和 SQL Server 資料庫查詢資料 – 適用於 JavaScript 和 TypeScript 的更優質 ORM。
// Creating a new recordawait prisma.user.create({firstName: “Alice”,email: “alice@prisma.io”})
id firstName email1 Bobby bobby@tables.io2 Nilufar nilu@email.com3 Jürgen jums@dums.edu4 Alice alice@prisma.io
Prisma 是次世代 ORM,用於在 hapi 應用程式中查詢您的資料庫。您可以將其作為編寫純 SQL 查詢、使用像 knex.js 這樣的查詢建構器或像 TypeORM、MikroORM 和 Sequelize 這樣的傳統 ORM 的替代方案。
雖然 Prisma 與 hapi 配合良好,但您也可以將其與任何其他 Web 框架(如 koa.js、Fastify 或 FeathersJS)一起使用。Prisma 可用於建置 REST 和 GraphQL API,並與微服務和單體式架構順利整合。
Prisma 提供了一個方便的資料庫存取層,可以與 hapi 完美整合。
下面的程式碼示範了在使用 hapi 建置 API 伺服器時 Prisma 的各種用途。
`prismaPlugin` 是特定於網域或模型的外掛程式的基礎。它包含的 `PrismaClient` 實例為應用程式的其餘部分提供資料庫介面。
1import { PrismaClient } from '@prisma/client'2import Hapi from '@hapi/hapi'34declare module '@hapi/hapi' {5 interface ServerApplicationState {6 prisma: PrismaClient7 }8}910const prismaPlugin = {11 name: 'prisma',12 register: async function(server) {13 const prisma = new PrismaClient()1415 server.app.prisma = prisma1617 server.ext({18 type: 'onPostStop',19 method: async (server) => {20 server.app.prisma.$disconnect()21 },22 })23 },24}2526export default prismaPlugin
`prismaPlugin` 是特定於網域或模型的外掛程式的基礎。它包含的 `PrismaClient` 實例為應用程式的其餘部分提供資料庫介面。
1import { PrismaClient } from '@prisma/client'2import Hapi from '@hapi/hapi'34declare module '@hapi/hapi' {5 interface ServerApplicationState {6 prisma: PrismaClient7 }8}910const prismaPlugin = {11 name: 'prisma',12 register: async function(server) {13 const prisma = new PrismaClient()1415 server.app.prisma = prisma1617 server.ext({18 type: 'onPostStop',19 method: async (server) => {20 server.app.prisma.$disconnect()21 },22 })23 },24}2526export default prismaPlugin
無論您建置的是 REST 或 GraphQL API,Prisma 都能完美地融入 hapi 的彈性架構中。
Prisma 提供資料庫查詢的自動完成功能、出色的開發人員體驗和完整的類型安全。
Prisma Client 確保完全類型安全的資料庫查詢,並具有自動完成等優點 - 即使在 JavaScript 中也是如此。
Prisma 的宣告式塑模語言簡單易懂,讓您可以直覺地描述您的資料庫結構描述。
從宣告式 Prisma 結構描述產生可預測和可自訂的 SQL 遷移。
Prisma Client 透過為常見 API 功能(例如分頁、篩選器等)提供查詢來減少樣板程式碼。
使用 hapi 和 Prisma 建置現代化後端的教學系列
適用於具有 SQLite 資料庫的 REST API 的隨時可執行範例專案
適用於具有 SQLite 資料庫的 GraphQL API 的隨時可執行範例專案
我們有多個管道,您可以在其中與我們的社群成員以及 Prisma 團隊互動。