为什么选择 Prisma

方案PrismaTypeORM原生驱动(mysql2)
开发效率⭐⭐⭐⭐ 自动类型生成、直观语法⭐⭐⭐ 需手动定义装饰器⭐⭐ 需手写 SQL
类型安全⭐⭐⭐⭐ 完美 TypeScript支持⭐⭐⭐ 需额外配置类型⭐ 无类型安全
性能⭐⭐⭐ ORM 轻微开销⭐⭐ 复杂查询性能较低⭐⭐⭐⭐ 直接操作数据库
迁移管理⭐⭐⭐⭐ 内置 prisma migrate⭐⭐ 需手动或第三方工具⭐ 完全手动
灵活性⭐⭐⭐ 复杂 SQL 需原生查询⭐⭐⭐⭐ 支持复杂查询⭐⭐⭐⭐⭐ 完全控制 SQL
Nextjs集成⭐⭐⭐⭐官方推荐、文档完善⭐⭐⭐ 需自行适配⭐⭐ 无官方支持

Prisma 适合快速开发、需要强类型安全、团队熟悉现代工具链的项目。

Prisma的正确使用方式

安装 Prisma

# 用的 5.0 版本, 不建议最新版本
npm install prisma @prisma/client 
npx prisma init

配置 MySQL 连接

# prisma/schema.prisma
datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")  # 格式:mysql://user:pass@host:port/db
}

定义数据模型

# prisma/schema.prisma
model User {
  id    Int     @id @default(autoincrement())
  name  String
  email String  @unique
}

生成 Prisma Client

npx prisma generate

生成迁移文件与同步数据库

npx prisma migrate dev --name init

在 Next.js 中使用

// app/api/users/route.ts
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

export async function GET() {
  const users = await prisma.user.findMany();
  return Response.json(users);
}

想了解更多可以直接访问 Prisma 文档指南

如果对你有帮助, 请点个赞鼓励下, 欢迎留言 🤝

名言集

“Work for something because it is good, not just because it stands a chance to succeed.”「为某事努力因为那是件好事, 不只是因为它有成功的机会。」

本文由mdnice多平台发布


咆哮的机器猫
1 声望0 粉丝