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 = prisma

export 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 测试成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值