JavaScript および TypeScript 向けのより優れた ORM である Prisma を使用して、Next.js アプリで MySQL、PostgreSQL、SQL Server データベースからデータをクエリします。
Prisma はデータ操作を容易にします。型安全な Node.js および 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 を使用してデータベースにアクセスする方法を決定できます。
アプリをサーバーレスまたは 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);
「Next.js と Prisma は、React アプリでデータベースが必要な場合の究極の組み合わせです。ニーズに応じて、Next.js API ルート、getServerSideProps
、または getStaticProps
で Prisma を使用してデータベースにクエリを実行でき、完全なレンダリングの柔軟性と最高のパフォーマンスを実現できます🚀」
クライアントサイドレンダリング、サーバーサイドレンダリング、および静的サイト生成を使用してデータを表示します。
getStaticProps で Prisma を使用してデータベースにクエリを実行し、動的データを含む静的ページを生成します。
Prisma を利用した Next.js プロジェクトは、Next.js アプリ向けに構築されたプラットフォームである Vercel にデプロイできます。
Prisma と Next.js を組み合わせることで、アプリはデータベースから React コンポーネントまで一貫して型付けされるようになります。
シンプルなアプリケーションではアーキテクチャの複雑さが軽減されます – アプリケーションの成長に合わせてアーキテクチャをスケールできます。
Next.js と Prisma の両方に活気のあるコミュニティがあり、サポート、楽しいイベント、素晴らしい人々を見つけることができます。
T3 スタック(Next.js、tRPC、Tailwind、TypeScript、Prisma)でライブチャットアプリケーションを構築する方法を学びましょう。ビデオには、データモデリングのベストプラクティス、および認証やリアルタイム更新などの機能も含まれています。これは、最新のウェブスタックへの包括的で実践的な詳細な掘り下げです!
Prisma Accelerate は、特にサーバーレスおよび Edge 環境で、データベースクエリを高速化する接続プーラーおよびグローバルキャッシュです。ビデオを見て、その正確な使用方法と、Next.js アプリでそれを始める方法を学びましょう!
t3 は、シンプルさ、モジュール性、およびフルスタックの型安全性に焦点を当てたウェブ開発スタックです。Next.js、tRPC、Tailwind、TypeScript、Prisma、および NextAuth が含まれています。
広範な型安全性の保証のおかげで、このチュートリアルで Francisco Mendes が教えるスタックは、今日ウェブアプリケーションを構築するための最も堅牢なものの 1 つです。楽しい食料品リストアプリケーションを作成して、エンドツーエンドの型安全性によるフルスタック開発について学びましょう。
Blitz.js は、Next.js と Prisma の上に構築されたアプリケーションフレームワークです。React およびクライアントサイドレンダリングについて開発者が愛するすべてを保持しながら、Ruby on Rails のようなサーバーレンダリングフレームワークのシンプルさと規約を取り戻します。
モダンウェブ開発向けのスターターテンプレート!CoDox には、Next.js 13、TypeScript、Tailwind CSS、Shadcn、tRPC、Clerk Auth、その他多くの機能が付属しており、次期 Next.js アプリの初期ボイラープレートを節約できます。
この包括的な 4 時間のチュートリアルでは、フルスタックフォームアプリケーションの構築方法を教えます。フォームはレスポンシブで、ドラッグ&ドロップ機能を可能にし、タイトル、サブタイトル、段落などのさまざまな種類のレイアウトフィールドと、テキスト、数値、ドロップダウン、日付、チェックボックス、テキストエリアなどのさまざまな種類のフィールドタイプを備えています。
コミュニティメンバーと Prisma チームのメンバーと交流できる複数のチャンネルがあります。