インターネットの急速な発展に伴い、開発される Web サイトやアプリケーションの数が増え、データ量もますます増大するため、データの処理と管理の重要性がますます高まっています。その中でも、ページングは非常に一般的なデータ クエリ方法であり、大量のデータを簡単に表示し、ユーザーに優れたユーザー エクスペリエンスを提供できます。開発では通常、MySQL データベースを使用してデータを保存しますが、この記事では、Node.js を使用して MySQL をカプセル化し、ページング クエリ機能を実装する方法を紹介します。
まず、必要なデータを保存するためのテーブルを MySQL に作成する必要があります。この記事では、id、name、age の 3 つのフィールドが含まれる「users」テーブルを例に挙げます。具体的なテーブル構造とデータは次のとおりです。
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);
次に、MySQL データベースと対応する mysql モジュールをインストールする必要があります。次のコマンドを使用してインストールできます:
npm install mysql
mysql モジュールを使用する前に、次のコードを使用して MySQL データベースに接続する必要があります。
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect();
ここでは、接続するデータベース名を「test」に設定していますが、実際の状況に応じて変更する必要があります。
次に、指定されたページ数のデータをクエリするページング クエリ関数をカプセル化します。関数名は「queryByPage」で、渡されるパラメータは次のとおりです:
関数の実装コードは次のとおりです。 ##
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 }); }); }); }
queryByPage('users', 1, 2, (err, result) => { if (err) { console.error(err.message); return; } console.log(result); });
以上がnodejsはmysqlをカプセル化してページングを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。