برای اتصال به دیتابیس نیازی به دیگر فریمورکها یا زبانهای برنامهنویسی سمت سرور مانند nodejs و php نیست.
ایجاد سرور mysql
ابتدا یک سرور mysql راهاندازی و دیتابیس خود را به آن اضافه میکنیم: در این مثال من از نرمافزار xampp استفاده کردم. دیتابیس mysql را میتوان به روشهای دیگری مانند نصب مستقیم یا استفاده از داکر هم راهاندازی کرد.
نصب کتابخانه serverless-mysql
برای شروع استفاده از mysql در nextjs ابتدا باید کتابخانهای مانند serverless-mysql را نصب کنیم :
npm install serverless-mysql
معرفی کانفیگ mysql
فایل db.js را به سورس پروژه nextjs خود اضافه میکنیم:
import mysql from "serverless-mysql";
const db = mysql({
config: {
host: "localhost",
port: "3306",
database: "jabira",
user: "root",
password: "",
}
});
export default async function excuteQuery({ query, values }) {
try {
const results = await db.query(query, values);
await db.end();
return results;
} catch (error) {
return { error };
}
}
تابع executeQuery به ما کمک میکند بتوانیم کوئری های sql مورد نیاز خود را اجرا کنیم.
گرفتن دیتا در page.js
اکنون به سراغ فایل page.js خود رفته و از تابع executeQuery برای ارسال درخواست به پایگاه داده استفاده میکنیم :
import excuteQuery from "@/db"
export default async function Home() {
const result = await excuteQuery({
query: "SELECT * FROM `pages`;",
values: [],
});
return ( <Component dbData={result} />)
}
برای اطلاعات بیشتر میتوانید از این لینک استفاده کنید