Next.js+prisma开发二
Next.js+prisma+mysql开发集成已有的mysql数据库
1. 创建next.js项目
npx create-next-app@13.4.5
2. 按照prisma依赖
npm install prisma@4.16.2 @prisma/client@4.16.2
3. 初始化Prisma并配置mysql链接
npx prisma init
4. 编辑 prisma/schema.prisma 文件,配置 MySQL 数据源
datasource db {provider = "mysql"url = env("DATABASE_URL")
}
5. 在 .env 文件中配置数据库连接
DATABASE_URL="mysql://用户名:密码@主机:端口/数据库名?schema=public"
6. 从现有数据库生成Prisma模型,这个命令会从你的mysql数据库读取表结构,并生成对应的Prisma模型,主要检查prisma/schema.prisma是否生成成功。
npx prisma db pull
7. 生成Prisma客户端
npx prisma generate
8. 在项目中创建一个数据库连接工具,在/src/lib/prisma.ts
import { PrismaClient } from '@prisma/client'declare global {var prisma: PrismaClient | undefined
}const prisma = globalThis.prisma || new PrismaClient()if (process.env.NODE_ENV !== 'production') globalThis.prisma = prismaexport default prisma
9.创建api路由测试,/src/app/api/login/route.ts
import { NextRequest, NextResponse } from "next/server"
import prisma from '@/lib/prisma'//管理员列表
export const GET = async (req: NextRequest) => {const res = await prisma.system_auth_admin.findMany()return NextResponse.json({success: true,message: 'ok~',data: res})
}
10.打开api地址:http://localhost:3001/api/login 测试成功