首頁  >  文章  >  web前端  >  nodejs封裝mysql實作分頁

nodejs封裝mysql實作分頁

王林
王林原創
2023-05-28 13:40:38787瀏覽

隨著網路的快速發展,越來越多的網站和應用程式被開發出來,資料量也愈發龐大,因此對於資料的處理和管理也變得越來越重要。其中,分頁是一種非常常見的數據查詢方法,可以輕鬆展示大量數據,為使用者提供更好的使用體驗。在開發中,我們一般使用MySQL資料庫儲存數據,本文就介紹如何使用Node.js來封裝MySQL實作分頁查詢功能。

  1. 建立資料庫表

首先,我們需要在MySQL中建立一個表,儲存我們需要的資料。本文以「users」表為例,包含id、name和age三個欄位。具體的表格結構和資料如下:

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO users (name, age) VALUES ('小明', 18);
INSERT INTO users (name, age) VALUES ('小红', 20);
INSERT INTO users (name, age) VALUES ('小华', 22);
INSERT INTO users (name, age) VALUES ('小张', 25);
INSERT INTO users (name, age) VALUES ('小李', 28);
INSERT INTO users (name, age) VALUES ('小刘', 30);
  1. 安裝MySQL和mysql模組

接下來,我們需要安裝MySQL資料庫和對應的mysql模組。可以透過以下指令進行安裝:

npm install mysql
  1. 分頁查詢實作

#在使用mysql模組之前,我們需要先透過以下程式碼連接MySQL資料庫:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
});

connection.connect();

這裡,我們將連接的資料庫名稱設為“test”,你需要根據自己的實際情況更改。

接下來,我們封裝一個分頁查詢函數,實作查詢指定頁數的資料。函數名稱為“queryByPage”,傳入的參數分別為:

  • tableName:要查詢的資料表名稱
  • pageNum:要查詢的頁數
  • # pageSize:每頁展示的資料數量
  • callback:回呼函數,用於接收查詢結果

函數實作程式碼如下:

function queryByPage(tableName, pageNum, pageSize, callback) {
  const start = (pageNum - 1) * pageSize;
  const sql = `SELECT * FROM ${tableName} ORDER BY id DESC LIMIT ${start}, ${pageSize}`;
  connection.query(sql, (err, results) => {
    if (err) {
      return callback(err, null);
    }
    const countSql = `SELECT count(*) as count FROM ${tableName}`;
    connection.query(countSql, (err, count) => {
      if (err) {
        return callback(err, null);
      }
      const totalCount = count[0].count;
      const totalPage = Math.ceil(totalCount / pageSize);
      return callback(null, {
        pageNum,
        pageSize,
        totalCount,
        totalPage,
        data: results
      });
    });
  });
}

以上程式碼實作了以下幾個功能:

  • 根據傳入的頁數和每頁展示的資料數量計算出查詢資料的起始位置
  • 執行MySQL查詢語句,實現分頁查詢並取得查詢結果
  • 執行MySQL查詢語句,取得資料總量
  • 根據資料總量和每頁展示的資料數量計算出總頁數
  • 將查詢結果和分頁資訊封裝成一個物件進行回調
  1. 呼叫分頁查詢函數

#最後,我們可以在Node.js應用程式中呼叫封裝好的分頁查詢函數,並根據需要展示查詢結果。

queryByPage('users', 1, 2, (err, result) => {
  if (err) {
    console.error(err.message);
    return;
  }
  console.log(result);
});

以上程式碼將會查詢「users」表的第一頁數據,每頁顯示2筆記錄,並將查詢結果輸出到控制台。

  1. 總結

本文介紹如何使用Node.js封裝MySQL實作分頁查詢功能。透過建立資料庫表、安裝mysql模組以及封裝查詢函數,我們可以方便地查詢指定頁數的數據,並在應用程式中進行展示。當然,在實際應用中,我們還需要根據實際情況完善程式碼,並進行錯誤處理和異常處理等工作。

以上是nodejs封裝mysql實作分頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn