从以下位置访问您的数据库
React Server Components

使用 Prisma 在 React Server Components 中查询 MySQL、PostgreSQL、SQL Server、CockroachDB 和 MongoDB 数据库 - JavaScript 和 TypeScript 的更好 ORM。

tech

什么是 Prisma?

Prisma 使数据处理变得轻松!它提供类型安全的 Node.js & TypeScript ORM、全局数据库缓存、连接池和实时数据库事件。

查询
// Creating a new record
await prisma.user.create({
firstName: “Alice”,
email: “alice@prisma.io”
})
id firstName email
1 Bobby bobby@tables.io
2 Nilufar nilu@email.com
3 Jürgen jums@dums.edu
4 Alice alice@prisma.io

Prisma 和 React Server Components 如何协同工作

React 是一个使用 JavaScript 构建用户界面的流行库。它用于构建在 Web 浏览器中运行的前端应用程序。使用 React Server Components,React 组件现在也可以在服务器上渲染。React Server Components 可以完全访问服务器端功能,例如文件系统和数据库。这就是 Prisma ORM 派上用场的地方:对于 React 开发人员来说,Prisma ORM 是在 React Server Components 中查询数据库的最佳方法。

您还可以使用我们的其他工具来增强 Prisma ORM 的使用
Prisma Accelerate 是一个全局数据库缓存和可扩展的连接池,可以加速您的数据库查询。
Prisma Pulse 使您能够以类型安全的方式构建反应式实时应用程序。Pulse 是实现 GraphQL 订阅或实时查询的完美伴侣。

React Server Components

React Server Components 中的 Prisma

React Server Components 在服务器上渲染,这意味着它们可以使用 @prisma/client 直接与数据库通信,以实现安全高效的数据库访问。

Prisma 为构建数据库查询提供了一个开发者友好的 API。在幕后,它会生成所需的查询并将它们发送到数据库。

1export default function NoteList({searchText}) {
2 // Query all notes in the database containing the searchText in the title
3 const notes = await prisma.note.findMany({
4 where: {
5 title: {
6 contains: searchText,
7 },
8 },
9 });
10
11 // Display notes in React component
12 return notes.length > 0 ? (
13 <ul className="notes-list">
14 {notes.map((note) => (
15 <li key={note.id}>
16 <SidebarNote note={note} />
17 </li>
18 ))}
19 </ul>
20 ) : (
21 <div className="notes-empty">
22 {searchText
23 ? `Couldn't find any notes titled "${searchText}".`
24 : 'No notes created yet!'}{' '}
25 </div>
26 );
27}
React Server Components
客户端组件(传统)

React Server Components 中的 Prisma

React Server Components 在服务器上渲染,这意味着它们可以使用 @prisma/client 直接与数据库通信,以实现安全高效的数据库访问。

Prisma 为构建数据库查询提供了一个开发者友好的 API。在幕后,它会生成所需的查询并将它们发送到数据库。

1export default function NoteList({searchText}) {
2 // Query all notes in the database containing the searchText in the title
3 const notes = await prisma.note.findMany({
4 where: {
5 title: {
6 contains: searchText,
7 },
8 },
9 });
10
11 // Display notes in React component
12 return notes.length > 0 ? (
13 <ul className="notes-list">
14 {notes.map((note) => (
15 <li key={note.id}>
16 <SidebarNote note={note} />
17 </li>
18 ))}
19 </ul>
20 ) : (
21 <div className="notes-empty">
22 {searchText
23 ? `Couldn't find any notes titled "${searchText}".`
24 : 'No notes created yet!'}{' '}
25 </div>
26 );
27}
React Server Components

为什么选择 Prisma 和 React Server Components?

无需 SQL

Prisma 通过一个简洁直观的 API 简化了数据库查询,方便您读取和写入数据。

性能更佳

在 React Server Components 中查询数据库可以显著提高应用程序的性能。

直观的数据建模

Prisma 的声明式建模语言简单易用,让您能够直观地描述数据库模式。

端到端类型安全

将 Prisma 与 React 配合使用可确保您的应用程序从数据库到前端都具有连贯的类型。

更高效的生产力

Prisma 为您提供数据库查询的自动完成功能,带来出色的开发体验和完全的类型安全。

友好的社区

React 和 Prisma 都拥有活跃的社区,您可以在其中获得支持、参加有趣的活动并结识优秀的人才。

精选的 Prisma & React 社区示例

如何使用 React(Next.js)& Prisma 构建全栈应用程序

本指南全面介绍了如何使用 React(通过 Next.js)、Prisma 和 PostgreSQL 构建生产就绪的全栈应用程序。它包括通过 NextAuth.js 进行身份验证以及通过 Vercel 进行部署。

RedwoodJS

RedwoodJS 是一个全栈应用程序框架。它基于 React、GraphQL 和 Prisma 构建,它与您喜欢的组件和开发工作流程协同工作,但它提供了简单的约定和辅助工具,使您的体验更加出色。