Powering Your Next.js App with Prisma ORM: A Beginner's Guide to Database Integration

Powering Your Next.js App with Prisma ORM: A Beginner's Guide to Database Integration

Published 8th, November, 2022

2 min read

In today's fast-paced web development world, it's important to have a tool that can handle your database efficiently. This is where Prisma ORM comes in - it's a type-safe database ORM (Object-Relational Mapping) that simplifies database access and management. In this article, we will explore how to use Prisma ORM in Next.js, a popular React-based server-side rendering framework.

Table of Contents:

  1. Prerequisites
  2. Getting Started
  3. Defining a Data Model
  4. Using the Prisma Client
  5. Conclusion


To follow along with this tutorial, you should have a basic understanding of Next.js, JavaScript, and Node.js. You will also need to have Node.js and npm installed on your machine.

Getting Started

First, we need to create a Next.js project. Open your terminal and run the following commands:

npx create-next-app prisma-next
cd prisma-next

Next, we need to install Prisma and the Prisma client. In your terminal, run:

npm install prisma
npm install @prisma/client

Now, we can initialize a Prisma schema. In your terminal, run:

This will create a prisma directory in your project with a schema.prisma file.

Defining a Data Model

In the schema.prisma file, we can define our data model. For example, let's say we want to create a User model with a name and email field. We can define this as follows:

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")

model User {
  id    Int     @id @default(autoincrement())
  name  String
  email String  @unique

This defines our data model and tells Prisma how to map it to our database.

Using the Prisma Client

Next, we need to use the Prisma client to interact with our database. In your Next.js project, create a new file called db.js in the root directory. In this file, we will create a new instance of the Prisma client:

const { PrismaClient } = require('@prisma/client')

const prisma = new PrismaClient()

module.exports = {

Now we can use this prisma instance to interact with our database. For example, to create a new user, we can define a new API route in Next.js:

import { prisma } from '../../db'

export default async function handler(req, res) {
  const { name, email } = req.body

  const user = await prisma.user.create({
    data: {


In this example, we are using the prisma instance to create a new user in the database and returning the newly created user as a JSON response.


In this article, we have explored how to use Prisma ORM in Next.js to interact with a database. We learned how to define a data model using Prisma schema, and how to use the Prisma client to interact with our database in Next.js. With Prisma, database management becomes easier and more efficient.

Get in Touch with Us Today.

Our team is here to help you make your ideas happen and come up with solutions that will help your business grow. Contact us right away to set up a meeting with one of our experts.

Career Enquiry


Available through : 11am to 8pm (Mon - Fri)

Ready to Discuss? Fill Out Our Contact Form