前言
在现代 Web 开发中,GraphQL 和 Prisma 已经成为了不可或缺的一部分。GraphQL 作为一种 API 查询语言,可以让前端开发者更加灵活地获取数据;而 Prisma 则是一个现代化的 ORM 工具,可以帮助开发者更加高效地访问数据库。本文将介绍如何使用 Prisma 访问 GraphQL 中的数据库。
环境准备
在开始之前,需要先安装 Node.js 和 npm。可以在 Node.js 官网上下载对应的安装包进行安装。
同时,还需要创建一个新的项目,并在项目中安装以下依赖:
--- ------- ------- ------
创建 Prisma 数据模型
首先,需要创建一个 Prisma 数据模型。这个数据模型将定义数据库的结构和关系。
在项目根目录下创建一个 schema.prisma
文件,并添加以下内容:
---------- -- - -------- - -------- --- - --------------- - --------- ------ - -------- - ------------------ - ----- ---- - -- --- --- ------------------------- ---- ------ ----- ------ ------- -
这个数据模型定义了一个名为 User
的模型,包含 id
、name
和 email
三个字段。其中,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