กลับไปหน้าหลัก

บทที่ 3: Prisma Client API

เรียนรู้การใช้งาน Prisma Client สำหรับ CRUD operations แบบ type-safe! 🚀
50 นาที
ระดับง่าย-กลาง
Hands-on

💻 CRUD Operations ใน Prisma

Create
ง่าย

สร้างข้อมูลใหม่ในฐานข้อมูล

Methods หลัก:
create()
createMany()
Read
ง่าย

อ่านและค้นหาข้อมูลจากฐานข้อมูล

Methods หลัก:
findMany()
findFirst()
findUnique()
Update
ปานกลาง

แก้ไขข้อมูลที่มีอยู่ในฐานข้อมูล

Methods หลัก:
update()
updateMany()
Delete
ปานกลาง

ลบข้อมูลออกจากฐานข้อมูล

Methods หลัก:
delete()
deleteMany()

📖 ตัวอย่าง Code แบบละเอียด

การตั้งค่า Prisma Client

การสร้าง global instance ของ Prisma Client เพื่อใช้งานในทั้ง application

// lib/prisma.ts - Global Prisma Client Setup
import { PrismaClient } from '@prisma/client'

// ป้องกันการสร้าง instance หลายตัวใน development
const globalForPrisma = globalThis as unknown as {
  prisma: PrismaClient | undefined
}

export const prisma = globalForPrisma.prisma ?? new PrismaClient({
  log: ['query', 'info', 'warn', 'error'], // เปิด logging
})

if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma

// การใช้งานใน API route หรือ component
import { prisma } from '@/lib/prisma'

// ตัวอย่างการทดสอบ connection
async function testConnection() {
  try {
    await prisma.$connect()
    console.log('✅ Database connected successfully!')
  } catch (error) {
    console.error('❌ Database connection failed:', error)
  } finally {
    await prisma.$disconnect()
  }
}