nodejs는 페이징을 구현하기 위해 mysql을 캡슐화합니다.

王林
풀어 주다: 2023-05-28 13:40:38
원래의
734명이 탐색했습니다.

인터넷의 급속한 발전과 함께 점점 더 많은 웹사이트와 애플리케이션이 개발되고 데이터의 양이 점점 더 많아지면서 데이터 처리 및 관리가 점점 더 중요해지고 있습니다. 그 중 페이징은 매우 일반적인 데이터 쿼리 방법으로, 대용량 데이터를 쉽게 표시하고 사용자에게 더 나은 사용자 경험을 제공할 수 있습니다. 개발에서는 일반적으로 MySQL 데이터베이스를 사용하여 데이터를 저장합니다. 이 기사에서는 Node.js를 사용하여 MySQL을 캡슐화하여 페이징 쿼리 기능을 구현하는 방법을 소개합니다.

  1. 데이터베이스 테이블 생성

먼저, 필요한 데이터를 저장하기 위해 MySQL에 테이블을 생성해야 합니다. 이 문서에서는 id, name 및 age라는 세 가지 필드가 포함된 "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);
로그인 후 복사
  1. MySQL 및 mysql 모듈 설치

다음으로 MySQL 데이터베이스와 해당 mysql 모듈을 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다.

npm install mysql
로그인 후 복사
  1. Paging 쿼리 구현

mysql 모듈을 사용하기 전에 다음 코드를 통해 MySQL 데이터베이스에 연결해야 합니다.

const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect();
로그인 후 복사

여기서 연결된 데이터베이스 이름을 다음으로 설정합니다. "테스트", 실제 상황에 따라 변경해야 합니다.

다음으로, 지정된 페이지 수의 데이터를 쿼리하는 페이징 쿼리 함수를 캡슐화합니다. 함수 이름은 "queryByPage"이고 전달되는 매개변수는 다음과 같습니다.

  • tableName: 쿼리할 데이터 테이블의 이름
  • pageNum: 쿼리할 페이지 수
  • pageSize: 표시되는 데이터 수 각 페이지
  • 콜백: 쿼리 결과를 수신하는 데 사용되는 콜백 함수

함수 구현 코드는 다음과 같습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!