Maison > Article > interface Web > nodejs encapsule MySQL pour implémenter la pagination
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.
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);
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
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 :
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 :
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.
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!