使用 Prisma 访问 GraphQL 中的数据库

前言

在现代 Web 开发中,GraphQL 和 Prisma 已经成为了不可或缺的一部分。GraphQL 作为一种 API 查询语言,可以让前端开发者更加灵活地获取数据;而 Prisma 则是一个现代化的 ORM 工具,可以帮助开发者更加高效地访问数据库。本文将介绍如何使用 Prisma 访问 GraphQL 中的数据库。

环境准备

在开始之前,需要先安装 Node.js 和 npm。可以在 Node.js 官网上下载对应的安装包进行安装。

同时,还需要创建一个新的项目,并在项目中安装以下依赖:

创建 Prisma 数据模型

首先,需要创建一个 Prisma 数据模型。这个数据模型将定义数据库的结构和关系。

在项目根目录下创建一个 schema.prisma 文件,并添加以下内容:

这个数据模型定义了一个名为 User 的模型,包含 idnameemail 三个字段。其中,id 为自增主键,email 为唯一索引。

生成 Prisma Client

接下来,需要使用 Prisma CLI 生成 Prisma Client。Prisma Client 是一个用于访问数据库的 JavaScript 库。

在终端中执行以下命令生成 Prisma Client:

执行完毕后,将在项目根目录下生成一个 node_modules/.prisma/client 目录,里面包含了 Prisma Client 的所有代码。

创建 GraphQL Schema

接下来,需要创建一个 GraphQL Schema。这个 Schema 将定义 GraphQL API 的结构和操作。

在项目根目录下创建一个 schema.graphql 文件,并添加以下内容:

这个 Schema 定义了一个 Query 类型和一个 Mutation 类型,分别对应查询和修改操作。同时,还定义了一个 User 类型,表示一个用户对象。

实现 GraphQL Resolvers

最后,需要实现 GraphQL Resolvers,将 GraphQL 操作映射到 Prisma Client 中的数据操作。

在项目根目录下创建一个 index.js 文件,并添加以下内容:

这个文件定义了一个 PrismaClient 对象,用于访问数据库。同时,还定义了一个 typeDefs 对象,表示 GraphQL Schema,和一个 resolvers 对象,表示 GraphQL Resolvers。

最后,创建一个 ApolloServer 对象并启动服务器。

测试

在终端中执行以下命令启动服务器:

服务器启动后,可以在浏览器中访问 http://localhost:4000/,打开 GraphQL Playground。在 Playground 中可以测试 GraphQL API。

例如,执行以下查询操作:

服务器将返回所有用户的 ID、姓名和邮箱。

同时,还可以执行以下修改操作:

服务器将创建一个名为 Alice 的用户,并返回其 ID、姓名和邮箱。

总结

本文介绍了如何使用 Prisma 访问 GraphQL 中的数据库。通过创建 Prisma 数据模型、生成 Prisma Client、创建 GraphQL Schema 和实现 GraphQL Resolvers,可以快速地搭建一个 GraphQL API,并访问数据库中的数据。同时,本文还提供了示例代码和测试方法,希望能够帮助读者更好地理解和使用 Prisma 和 GraphQL。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65828680d2f5e1655dda0ee0


纠错
反馈