使用 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 团队进行互动。