使用 Prisma 从 MySQL、PostgreSQL 和 SQL Server 数据库中查询数据,Prisma 是一个更适合 JavaScript 和 TypeScript 的 ORM。
// Creating a new recordawait prisma.user.create({ firstName: “Alice”, email: “alice@prisma.io”})
id firstName email 1 Bobby bobby@tables.io2 Nilufar nilu@email.com3 Jürgen jums@dums.edu4 Alice alice@prisma.io
Next.js 模糊了客户端和服务器之间的界限。它支持在构建时(SSG)或请求时(SSR)预渲染页面。如果您需要在 Next.js 应用程序中使用数据库,Prisma 是您的完美搭档。您可以决定是在构建时(getStaticProps
)、在请求时(getServersideProps
)或使用 API 路由或通过将后端完全分离到独立服务器中,使用 Prisma 访问您的数据库。
如果您将应用程序部署到无服务器或边缘环境,请务必查看 Prisma Accelerate 以加速您的数据库查询。其可扩展的连接池确保您的数据库即使在流量高峰期间也不会出现连接耗尽的情况。此外,它可以在边缘缓存数据库查询的结果,从而加快响应时间,同时减轻数据库的负载。
Next.js 中的 getStaticProps
函数在构建时执行以进行静态站点生成 (SSG)。它通常用于静态 页面,如博客和营销网站。您可以在 getStaticProps
中使用 Prisma 向您的数据库发送查询。
1// Fetch all posts (in /pages/index.tsx)2export async function getStaticProps() {3 const prisma = new PrismaClient()4 const posts = await prisma.post.findMany()5
6 return {7 props : { posts }8 }9}
Next.js 将把 props
传递给您的 React 组件,从而使用动态数据静态渲染您的页面。
1// Display list of posts (in /pages/index.tsx)2export default ({posts}) =>3 <ul> 4 {posts.map(post => (5 <li key={post.id}>{post.title}</li>6 ))}7 </ul>8);
Next.js 中的 getStaticProps
函数在构建时执行以进行静态站点生成 (SSG)。它通常用于静态 页面,如博客和营销网站。您可以在 getStaticProps
中使用 Prisma 向您的数据库发送查询。
1// Fetch all posts (in /pages/index.tsx)2export async function getStaticProps() {3 const prisma = new PrismaClient()4 const posts = await prisma.post.findMany()5
6 return {7 props : { posts }8 }9}
Next.js 将把 props
传递给您的 React 组件,从而使用动态数据静态渲染您的页面。
1// Display list of posts (in /pages/index.tsx)2export default ({posts}) =>3 <ul> 4 {posts.map(post => (5 <li key={post.id}>{post.title}</li>6 ))}7 </ul>8);
“如果您需要在 React 应用程序中使用数据库,Next.js 和 Prisma 是最终组合!根据您的需求,您可以在 Next.js API 路由、getServerSideProps
或 getStaticProps
中使用 Prisma 查询您的数据库,以实现完全的渲染灵活性并获得最佳性能 🚀”
使用客户端渲染、服务器端渲染和静态站点生成显示您的数据。
在 getStaticProps 中使用 Prisma 查询您的数据库以生成带有动态数据的静态页面。
基于 Prisma 的 Next.js 项目可以部署到 Vercel,这是一个为 Next.js 应用程序构建的平台。
将 Prisma 与 Next.js 配合使用,确保您的应用程序从数据库到 React 组件都具有统一的类型。
对于简单应用程序而言,架构复杂性更低 - 随着应用程序的增长,可以扩展架构。
Next.js 和 Prisma 都拥有活跃的社区,您可以在其中获得支持、参与有趣的活动并结识优秀的人。
学习如何使用 T3 技术栈构建实时聊天应用程序:Next.js、tRPC、Tailwind、TypeScript 和 Prisma。该视频还包括数据建模的最佳实践以及身份验证和实时更新等功能。它全面而实用地深入探讨了现代 Web 技术栈!
Prisma Accelerate 是一个连接池和全局缓存,可以加快您的数据库查询速度,尤其是在无服务器和边缘环境中。观看视频以了解它是如何使用的以及如何在 Next.js 应用程序中开始使用它!
T3 是一个 Web 开发技术栈,专注于简单性、模块化和全栈类型安全。它包括 Next.js、tRPC、Tailwind、TypeScript、Prisma 和 NextAuth。
由于其广泛的类型安全保证,Francisco Mendes 在本教程中教授的技术栈是当今构建 Web 应用程序最稳健的技术栈之一。通过创建一个有趣的购物清单应用程序,了解端到端类型安全的全栈开发。
Blitz.js 是一个应用程序框架,它建立在 Next.js 和 Prisma 之上。它恢复了 Ruby on Rails 等服务器端渲染框架的简单性和约定,同时保留了开发人员对 React 和客户端渲染的一切热爱。
现代 Web 开发的入门模板!CoDox 配备 Next.js 13、TypeScript、Tailwind CSS、Shadcn、tRPC、Clerk Auth 以及更多功能,为您节省下一个 Next.js 应用程序的初始样板代码。
本教程共 4 小时,全面讲解如何构建一个全栈表单应用程序。该表单将具有响应式布局,支持拖放功能,并包含各种布局字段,如标题、副标题和段落,以及各种字段类型,如文本、数字、下拉菜单、日期、复选框和文本区域。
我们提供多个渠道,您可以通过这些渠道与社区成员以及 Prisma 团队互动。