国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 Next.js 連接 mysql 數(shù)據(jù)庫(kù)

這篇具有很好參考價(jià)值的文章主要介紹了使用 Next.js 連接 mysql 數(shù)據(jù)庫(kù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

本文主要為大家介紹,如何使用 Next 框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的后端接口,并且從數(shù)據(jù)庫(kù)中請(qǐng)求數(shù)據(jù)返回給前端。

實(shí)現(xiàn)

創(chuàng)建api/getData文件夾

項(xiàng)目創(chuàng)建完成后在 app?文件下新建api文件夾,在 api 文件夾下新建 getData 文件夾,在 getData 文件夾下新建 route.js,這里面用于存儲(chǔ)我們的接口信息,如下

使用 Next.js 連接 mysql 數(shù)據(jù)庫(kù),javascript,開發(fā)語(yǔ)言,ecmascript

注意:在 Nuxt.js中,app文件夾通常用于存放應(yīng)用程序的配置和組件,而?api文件夾則用于存放API路由處理程序。

當(dāng)我們?cè)?api文件夾中創(chuàng)建子文件夾時(shí),Nuxt.js 會(huì)將這些子文件夾視為 API 的路徑的一部分。我們就可以直接將子文件夾的名稱作為 API 的路徑的一部分。

拿我們上面創(chuàng)建的舉例,我們?cè)陧?yè)面中請(qǐng)求的路徑就為:api/getData

route.js中寫接口信息

import { NextResponse } from 'next/server'
const mysql = require('mysql2/promise')

// 創(chuàng)建全局的 MySQL 連接池
const pool = mysql.createPool({
  connectionLimit: 10,
  host: '127.0.0.1', // 服務(wù)器地址
  user: 'root',
  password: '123456', // 密碼
  database: 'jackson_blog_dev',
})

export async function GET(request) {
  try {
    // 從連接池中獲取連接
    const connection = await pool.getConnection()

    // 執(zhí)行 MySQL 查詢
    const [rows, fields] = await connection.query('SELECT * FROM jacksonblogbacked')

    // 釋放連接回連接池
    connection.release()

    return NextResponse.json({ data: rows }, { status: 200 })
  } catch (error) {
    console.error('Error:', error)
    return NextResponse.json({ error: 'Internal Server Error' }, { status: 500 })
  }
}

安裝 mysql2

安裝 mysql2 用于連接本地?cái)?shù)據(jù)庫(kù)

npm install mysql2

創(chuàng)建 mysql 連接,并把相應(yīng)信息填寫上

(這一步大家要按照自己的數(shù)據(jù)庫(kù)信息)

// 創(chuàng)建全局的 MySQL 連接池
const pool = mysql.createPool({
  connectionLimit: 10,
  host: '127.0.0.1', // 服務(wù)器地址
  user: 'root',
  password: '123456', // 密碼
  database: 'jackson_blog_dev',
})

接下來(lái)就是從表中查詢數(shù)據(jù),我們使用 'next/server' 提供的 NextResponse 把數(shù)據(jù)以 json 對(duì)象的形式返回出去即可。

export async function GET(request) {
  try {
    // 從連接池中獲取連接
    const connection = await pool.getConnection()

    // 執(zhí)行 MySQL 查詢
    const [rows, fields] = await connection.query('SELECT * FROM jacksonblogbacked')

    // 釋放連接回連接池
    connection.release()

    return NextResponse.json({ data: rows }, { status: 200 })
  } catch (error) {
    console.error('Error:', error)
    return NextResponse.json({ error: 'Internal Server Error' }, { status: 500 })
  }
}

使用接口

現(xiàn)在我們已經(jīng)在把接口信息寫好了,如何在頁(yè)面中使用呢?

頁(yè)面中使用

接口已經(jīng)初始化好了,接下來(lái)就是在頁(yè)面中使用接口

在 app/page.tsx 中

'use client' //客戶端渲染時(shí)
import React, { useState, useEffect } from 'react'

const Home = () => {
  const [data, setData] = useState([])

  useEffect(() => {
    fetchData()
  }, [])

  const fetchData = async () => {
    try {
      const response = await fetch('/api/getData')
      const res = await response.json()
      const data = res.data[0]
      setData(data.title)
      console.log('data: ', data)
    } catch (error) {
      console.error('Error fetching data:', error)
    }
  }

  return (
    <div>
      <h1>測(cè)試mysql連接:{data}</h1>
    </div>
  )
}

export default Home

這里為了測(cè)試數(shù)據(jù)響應(yīng)渲染到頁(yè)面中,我們使用了useState鉤子函數(shù),需要在頂部加上 'use client' 表示在客戶端渲染即可。

我們直接使用fetch請(qǐng)求我們的接口,正如我上面所說(shuō)的,直接請(qǐng)求 /api/getData 這個(gè)接口地址即可,無(wú)需再進(jìn)行其他接口配置。

  const fetchData = async () => {
    try {
      const response = await fetch('/api/getData')
      const res = await response.json()
      const data = res.data[0]
      setData(data.title)
      console.log('data: ', data)
    } catch (error) {
      console.error('Error fetching data:', error)
    }
  }

最后將得到的數(shù)據(jù)渲染到頁(yè)面中即可

      const data = res.data[0]
      setData(data.title)

效果如下:

使用 Next.js 連接 mysql 數(shù)據(jù)庫(kù),javascript,開發(fā)語(yǔ)言,ecmascript

總結(jié)

首先在 Next 中創(chuàng)建好接口文件,接口文件的模式按照 Next 所提供的接口格式進(jìn)行接口配置,最后在頁(yè)面中直接使用接口路徑使用即可。

以上就是如何使用 Next 框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的后端接口所有內(nèi)容,如果你感覺寫的還不錯(cuò)對(duì)你有幫助的話,可以點(diǎn)個(gè)贊支持一下,你的支持就是作者最大的動(dòng)力?!

源碼

所有代碼都已經(jīng)提交到 GitHub

GitHub:chenyajun-create/next-mysql (github.com)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-835149.html

到了這里,關(guān)于使用 Next.js 連接 mysql 數(shù)據(jù)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用python連接mysql數(shù)據(jù)庫(kù)

    使用python連接mysql數(shù)據(jù)庫(kù)

    第一章 Python 機(jī)器學(xué)習(xí)入門之連接mysql數(shù)據(jù)庫(kù) 提示:這里可以添加本文要記錄的大概內(nèi)容: 例如:隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門技術(shù)也越來(lái)越重要,很多人都開啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。 在控制臺(tái)輸入如下: 代碼如下(示例): 演示

    2024年02月16日
    瀏覽(29)
  • 前端使用node.js連接sql.server數(shù)據(jù)庫(kù)教程

    前端使用node.js連接sql.server數(shù)據(jù)庫(kù)教程

    最近項(xiàng)目中要用到node寫接口然后連接公司現(xiàn)有的sql.server數(shù)據(jù)庫(kù),再把執(zhí)行結(jié)果返回給前端(還是我),因?yàn)橹耙恢弊銮岸诉@塊,后端這方面不是很懂,花了很長(zhǎng)的時(shí)間終于研究出來(lái)了(還是太菜了,走了很多彎路),所以寫個(gè)博客,一是復(fù)習(xí)鞏固,二是給其他有需要的小伙伴一個(gè)參考,盡量

    2024年02月11日
    瀏覽(26)
  • 在Node.js中使用MongoDB連接數(shù)據(jù)庫(kù)、創(chuàng)建集合

    在Node.js中使用MongoDB連接數(shù)據(jù)庫(kù)、創(chuàng)建集合

    本文主要介紹在Node.js中使用MongoDB連接數(shù)據(jù)庫(kù)、創(chuàng)建集合的方法。 在Node.js中使用MongoDB連接數(shù)據(jù)庫(kù)有兩種方式:使用原生驅(qū)動(dòng)程序和使用Mongoose。 首先,需要安裝 mongodb 模塊??梢酝ㄟ^(guò)以下命令來(lái)安裝: 安裝完成后,可以在代碼中引入模塊: 接著,可以使用 MongoClient 來(lái)連接

    2024年02月04日
    瀏覽(81)
  • 使用eclipse連接mysql數(shù)據(jù)庫(kù)步驟

    使用eclipse連接mysql數(shù)據(jù)庫(kù)步驟

    1.導(dǎo)入連接MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng)包(例如mysql-connector-java-5.1.7-bin.jar),并測(cè)試。 步驟: 1)在eclipse里面點(diǎn)擊右上角的圖標(biāo),如下圖所示。 2)選中Database Connections右鍵,點(diǎn)new。 3)選擇MySQL,點(diǎn)擊next。 4)如圖所示: 2.引用MySQL驅(qū)動(dòng)包jar 在項(xiàng)目右鍵一個(gè)文件夾lib,把驅(qū)動(dòng)包復(fù)制進(jìn)去,

    2024年02月11日
    瀏覽(48)
  • 使用C#連接MySQL數(shù)據(jù)庫(kù)(詳解)

    使用C#連接MySQL數(shù)據(jù)庫(kù)(詳解)

    ?前言? 本片文章,主要在于C#連接MySQL數(shù)據(jù)庫(kù),由于這之間無(wú)法建立直接聯(lián)系,這時(shí)候就涉及到了第三方連接工具.NET,以此來(lái)建立C#與MySQL數(shù)據(jù)庫(kù)的連接 ??歡迎點(diǎn)贊 ?? 收藏 ?留言評(píng)論 ??私信必回喲?? ??博主將持續(xù)更新學(xué)習(xí)記錄收獲,友友們有任何問題可以在評(píng)論區(qū)留

    2024年02月05日
    瀏覽(39)
  • uniapp使用express連接mysql數(shù)據(jù)庫(kù)

    uniapp使用express連接mysql數(shù)據(jù)庫(kù)

    使用win+R再輸入cmd打開命令提示符,輸入如下內(nèi)容全局安裝腳手架 npm i express-generator -g 可以在命令提示符中cd到自己項(xiàng)目的根目錄下,也可以在HBuilder X里內(nèi)置的終端運(yùn)行代碼 ?C:HBuilderProjectswordman express --view=ejs server 說(shuō)明:前面是項(xiàng)目的根目錄,express --view=ejs projectName proje

    2024年02月06日
    瀏覽(46)
  • Navicat (連接mysql數(shù)據(jù)庫(kù))的基本使用

    Navicat (連接mysql數(shù)據(jù)庫(kù))的基本使用

    目錄 前言 一、navicat-15的下載安裝 二、navicat連接數(shù)據(jù)庫(kù) 1、登錄 2、連接數(shù)據(jù)庫(kù)失敗情況 3、登錄數(shù)據(jù)庫(kù)需要授權(quán) 三、navicat的基礎(chǔ)操作? ☆ 1、數(shù)據(jù)庫(kù)的基本操作 2、對(duì)表進(jìn)行操作 3、sql 語(yǔ)句管理數(shù)據(jù)庫(kù)? 4、用戶管理 5、?視圖的創(chuàng)建 6、表的導(dǎo)入與導(dǎo)出? 7、數(shù)據(jù)庫(kù)的備份?

    2024年02月04日
    瀏覽(23)
  • 【MySQL系列】使用C語(yǔ)言來(lái)連接數(shù)據(jù)庫(kù)

    【MySQL系列】使用C語(yǔ)言來(lái)連接數(shù)據(jù)庫(kù)

    ?導(dǎo)航小助手? ? ? ??? 寫在前面 ? ? ? ? ? ?? 一、準(zhǔn)備工作 ? ? ? ? ? ? ? ????? 1.1 把 libmysql.dll 和 libmysql.lib 文件復(fù)制到工程目錄下 ? ? ? ? ? ? ? ????? 1.2 添加 libmysql.lib? ? ? ? ? ? ? ? ????? 1.3 添加 include目錄 ? ? ? ? ? ? ? ????? 1.4 包含頭文件 ? ?

    2024年02月04日
    瀏覽(44)
  • 【MySQL】如何使用Unix Sockets 協(xié)議連接MySQL數(shù)據(jù)庫(kù)

    MySQL入門02:關(guān)于MySQL連接的ABC 【MySQL】如何使用Named Pipe協(xié)議(Windows)連接MySQL數(shù)據(jù)庫(kù) 【MySQL】如何使用Shared-memory協(xié)議(Windows)連接MySQL數(shù)據(jù)庫(kù) 【MySQL】如何使用Unix Sockets 協(xié)議連接MySQL數(shù)據(jù)庫(kù) 【免責(zé)聲明】文章僅供學(xué)習(xí)交流,觀點(diǎn)代表個(gè)人,與任何公司無(wú)關(guān)。 編輯|SQL和數(shù)據(jù)庫(kù)技術(shù)

    2024年02月11日
    瀏覽(41)
  • 使用SqlSugar連接多個(gè)數(shù)據(jù)庫(kù)(sqlserver,sqlite,mysql)

    使用SqlSugar連接多個(gè)數(shù)據(jù)庫(kù)(sqlserver,sqlite,mysql)

    ? ? 有時(shí)候,一個(gè)項(xiàng)目只有一個(gè)數(shù)據(jù)庫(kù),比如只有SQLite,或者M(jìn)ySQL數(shù)據(jù)庫(kù),那么我們只需要使用一個(gè)固定的數(shù)據(jù)庫(kù)即可。但是一個(gè)項(xiàng)目如果寫好了,有多個(gè)用戶使用,但是多個(gè)用戶使用不同的數(shù)據(jù)庫(kù),這個(gè)時(shí)候,我們就需要把軟件設(shè)計(jì)成可以連接多個(gè)數(shù)據(jù)庫(kù)的模式,用什么數(shù)

    2023年04月08日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包