使用 Prisma 在 Next.js 应用中查询 MySQL、PostgreSQL 和 SQL Server 数据库的数据 — 一个更好的 JavaScript 和 TypeScript ORM。
// Creating a new recordawait prisma.user.create({firstName: “Alice”,email: “alice@prisma.io”})
id firstName email1 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 访问数据库。
如果您将应用部署到 Serverless 或 Edge 环境中,务必查看 Prisma Accelerate 以加速您的数据库查询。其可扩展的连接池确保您的数据库即使在流量高峰期也不会耗尽连接。此外,它可以在 Edge 缓存数据库查询结果,从而加快响应速度并减少数据库负载。
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()56 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()56 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 是一个连接池和全局缓存,可以加快您的数据库查询速度,特别是在 Serverless 和 Edge 环境中。观看视频,了解它的具体用法以及如何在 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 团队交流。