Maison  >  Article  >  interface Web  >  nodejs encapsule MySQL pour implémenter la pagination

nodejs encapsule MySQL pour implémenter la pagination

王林
王林original
2023-05-28 13:40:38802parcourir

Avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications sont développés, et la quantité de données devient de plus en plus importante, de sorte que le traitement et la gestion des données deviennent de plus en plus importants. Parmi eux, la pagination est une méthode de requête de données très courante, qui peut facilement afficher de grandes quantités de données et offrir aux utilisateurs une meilleure expérience utilisateur. En développement, nous utilisons généralement la base de données MySQL pour stocker les données. Cet article explique comment utiliser Node.js pour encapsuler MySQL afin d'implémenter la fonction de requête de pagination.

  1. Créer une table de base de données

Tout d'abord, nous devons créer une table dans MySQL pour stocker les données dont nous avons besoin. Cet article prend comme exemple la table « utilisateurs », qui contient trois champs : identifiant, nom et âge. La structure et les données spécifiques de la table sont les suivantes :

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. Installer les modules MySQL et mysql

Ensuite, nous devons installer la base de données MySQL et le module mysql correspondant. Il peut être installé via la commande suivante :

npm install mysql
  1. Implémentation de requête de page

Avant d'utiliser le module mysql, nous devons nous connecter à la base de données MySQL via le code suivant :

const mysql = require('mysql');

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

connection.connect();

Ici, nous définissons le nom de la base de données connectée sur "test", vous devez le modifier en fonction de votre situation réelle.

Ensuite, nous encapsulons une fonction de requête de pagination pour interroger le nombre spécifié de pages de données. Le nom de la fonction est "queryByPage", et les paramètres transmis sont :

  • tableName : le nom de la table de données à interroger
  • pageNum : le nombre de pages à interroger
  • pageSize : le nombre de données affichées sur chaque page
  • callback : fonction de rappel, utilisée pour recevoir les résultats de la requête

Le code d'implémentation de la fonction est le suivant :

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
      });
    });
  });
}

Le code ci-dessus implémente les fonctions suivantes :

  • Calculez la position de départ des données de la requête en fonction de la nombre de pages transmises et nombre de données affichées sur chaque page
  • Exécutez l'instruction de requête MySQL pour implémenter la requête de pagination et obtenir les résultats de la requête
  • Exécutez l'instruction de requête MySQL pour obtenir la quantité totale de données
  • Calculez le nombre total de pages en fonction de la quantité totale de données et du nombre de données affichées sur chaque page
  • Page des résultats de la requête et pagination Les informations sont encapsulées dans un objet pour le rappel
  1. Appelez la fonction de requête de pagination

Enfin, nous peut appeler la fonction de requête de pagination encapsulée dans l'application Node.js et afficher les résultats de la requête si nécessaire.

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

Le code ci-dessus interrogera la première page de données dans la table "utilisateurs", affichera 2 enregistrements sur chaque page et affichera les résultats de la requête sur la console.

  1. Résumé

Cet article explique comment utiliser Node.js pour encapsuler MySQL afin d'implémenter la fonction de requête de pagination. En créant des tables de base de données, en installant le module mysql et en encapsulant les fonctions de requête, nous pouvons facilement interroger le numéro de page de données spécifié et l'afficher dans l'application. Bien sûr, dans les applications réelles, nous devons également améliorer le code en fonction de la situation réelle et effectuer la gestion des erreurs et des exceptions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn