使用 Prisma 在 hapi 應用中查詢 MySQL、PostgreSQL 和 SQL Server 資料庫資料——一款適用於 JavaScript 和 TypeScript 的更優 ORM。
Prisma 提供資料庫工具,是構建高效能 Next.js 應用程式的完美伴侶,並提供出色的開發體驗(DX)。
Prisma Postgres 是第一個無冷啟動的無伺服器資料庫。它基於unikernels,在裸機上執行,並內建快取、高效能查詢和無縫擴充套件——所有這些都提供了出色的開發體驗(DX)。
瞭解更多關於 Prisma Postgres 的資訊Prisma 是一種新一代 ORM,用於在 hapi 應用程式中查詢資料庫。您可以將其作為編寫純 SQL 查詢、使用 knex.js 等查詢構建器或 TypeORM、MikroORM 和 Sequelize 等傳統 ORM 的替代方案。
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
Prisma 完美契合 hapi 的靈活架構,無論是構建 REST 還是 GraphQL API。
Prisma 為您提供資料庫查詢自動補全、出色的開發體驗和全面的型別安全。
Prisma Client 確保完全型別安全的資料庫查詢,並提供自動補全等優點——即使在 JavaScript 中也是如此。
Prisma 的宣告式建模語言簡單直觀,讓您能夠直觀地描述您的資料庫模式。
從宣告式 Prisma 模式生成可預測且可定製的 SQL 遷移。
Prisma Client 透過為常見的 API 功能(例如:分頁、篩選等)提供查詢,減少了樣板程式碼。
使用 hapi 和 Prisma 構建現代後端的系列教程
一個帶有 SQLite 資料庫的 REST API 即用型示例專案
一個帶有 SQLite 資料庫的 GraphQL API 即用型示例專案
我們有多個渠道,您可以與我們的社群成員和 Prisma 團隊進行互動。