React Server ComponentsでMySQL、PostgreSQL、SQL Server、CockroachDB、MongoDBデータベースからPrismaを使ってデータクエリを実行 – JavaScriptとTypeScriptのためのより良いORM。
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
Reactは、JavaScriptでユーザーインターフェースを構築するための人気のあるライブラリです。ウェブブラウザで動作するフロントエンドアプリケーションを構築するために使用されます。React Server Componentsを使用すると、Reactコンポーネントをサーバー側でもレンダリングできるようになりました。React Server Componentsは、ファイルシステムやデータベースなどのサーバーサイド機能にフルアクセスできます。そこでPrisma ORMが登場します。Prisma ORMは、React開発者がReact Server Componentsでデータベースをクエリするための最良の方法です。
Prisma ORMの利用をさらに強化する追加ツール
• Prisma Accelerateは、グローバルデータベースキャッシュとスケーラブルな接続プールであり、データベースクエリを高速化します。
• Prisma Pulseは、タイプセーフな方法でリアクティブなリアルタイムアプリケーションを構築できるようにします。Pulseは、GraphQLサブスクリプションまたはライブクエリを実装するための最適なコンパニオンです。
React Server Componentsはサーバー上でレンダリングされるため、@prisma/client
を使用してデータベースと直接通信し、安全かつ効率的なデータベースアクセスを実現できます。
Prismaは、データベースクエリを構築するための開発者に優しいAPIを提供します。内部的には、必要なクエリを生成し、データベースに送信します。
1export default function NoteList({searchText}) {2 // Query all notes in the database containing the searchText in the title3 const notes = await prisma.note.findMany({4 where: {5 title: {6 contains: searchText,7 },8 },9 });1011 // Display notes in React component12 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 {searchText23 ? `Couldn't find any notes titled "${searchText}".`24 : 'No notes created yet!'}{' '}25 </div>26 );27}
React Server Componentsはサーバー上でレンダリングされるため、@prisma/client
を使用してデータベースと直接通信し、安全かつ効率的なデータベースアクセスを実現できます。
Prismaは、データベースクエリを構築するための開発者に優しいAPIを提供します。内部的には、必要なクエリを生成し、データベースに送信します。
1export default function NoteList({searchText}) {2 // Query all notes in the database containing the searchText in the title3 const notes = await prisma.note.findMany({4 where: {5 title: {6 contains: searchText,7 },8 },9 });1011 // Display notes in React component12 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 {searchText23 ? `Couldn't find any notes titled "${searchText}".`24 : 'No notes created yet!'}{' '}25 </div>26 );27}
Prismaは、洗練された直感的なAPIでデータの読み書きを簡単に行えるようにします。
React Server Componentsでデータベースをクエリすると、アプリケーションのパフォーマンスが大幅に向上します。
Prismaの宣言的なモデリング言語はシンプルで、データベーススキーマを直感的に記述できます。
PrismaとReactを組み合わせることで、データベースからフロントエンドまで、アプリケーション全体で一貫した型付けが保証されます。
Prismaは、データベースクエリのオートコンプリート、優れた開発者体験、そして完全なタイプ安全性を提供します。
ReactとPrismaの両方に活発なコミュニティがあり、サポート、楽しいイベント、素晴らしい人々を見つけることができます。
このガイドは、React(Next.js経由)、Prisma、PostgreSQLを使用して、本番環境対応のフルスタックアプリケーションを構築するための徹底的な入門書です。NextAuth.jsによる認証とVercelによるデプロイメントが含まれています。
RedwoodJSはフルスタックアプリケーションフレームワークです。React、GraphQL、Prisma上に構築されており、あなたが愛するコンポーネントと開発ワークフローで動作しますが、あなたの経験をさらに向上させるためのシンプルな規約とヘルパーが付属しています。
Prismaチームだけでなく、コミュニティメンバーと交流できる複数のチャンネルがあります。