


nodejs encapsule MySQL pour implémenter la pagination
May 28, 2023 pm 01:40 PMAvec 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.
- 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);
- 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
- 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
- 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.
- 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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Expliquez le concept de chargement paresseux.

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires?

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable?

Comment fonctionne le currying en JavaScript et quels sont ses avantages?

Comment fonctionne l'algorithme de réconciliation React?

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants?

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements?

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés?
