인터넷의 급속한 발전과 함께 점점 더 많은 웹사이트와 애플리케이션이 개발되고 데이터의 양이 점점 더 많아지면서 데이터 처리 및 관리가 점점 더 중요해지고 있습니다. 그 중 페이징은 매우 일반적인 데이터 쿼리 방법으로, 대용량 데이터를 쉽게 표시하고 사용자에게 더 나은 사용자 경험을 제공할 수 있습니다. 개발에서는 일반적으로 MySQL 데이터베이스를 사용하여 데이터를 저장합니다. 이 기사에서는 Node.js를 사용하여 MySQL을 캡슐화하여 페이징 쿼리 기능을 구현하는 방법을 소개합니다.
- 데이터베이스 테이블 생성
먼저, 필요한 데이터를 저장하기 위해 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);
- MySQL 및 mysql 모듈 설치
다음으로 MySQL 데이터베이스와 해당 mysql 모듈을 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다.
npm install mysql
- 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 쿼리문을 실행하여 총 데이터량을 얻습니다
- 총 개수를 계산합니다. 총 데이터 양과 각 페이지에 표시되는 데이터 수를 기준으로 페이지 수
- 쿼리 결과를 페이지화하고 페이징합니다. 이 정보는 콜백을 위한 객체로 캡슐화됩니다
- 페이징 쿼리 함수를 호출합니다
마지막으로 우리는 Node.js 애플리케이션에서 캡슐화된 페이징 쿼리 기능을 호출하고 필요에 따라 쿼리 결과를 표시할 수 있습니다.
queryByPage('users', 1, 2, (err, result) => { if (err) { console.error(err.message); return; } console.log(result); });
위 코드는 "users" 테이블의 첫 번째 데이터 페이지를 쿼리하고 각 페이지에 2개의 레코드를 표시하며 쿼리 결과를 콘솔에 출력합니다.
- 요약
이 글에서는 Node.js를 사용하여 MySQL을 캡슐화하여 페이징 쿼리 기능을 구현하는 방법을 소개합니다. 데이터베이스 테이블을 생성하고 mysql 모듈을 설치하고 쿼리 기능을 캡슐화함으로써 지정된 페이지 수의 데이터를 쉽게 쿼리하고 애플리케이션에 표시할 수 있습니다. 물론 실제 애플리케이션에서도 실제 상황에 따라 코드를 개선하고 오류 처리 및 예외 처리를 수행해야 합니다.
위 내용은 nodejs는 페이징을 구현하기 위해 mysql을 캡슐화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 Data Fetching 및 기능 구성 요소의 DOM 조작과 같은 부작용을 관리하기위한 후크 인 React의 useEffect에 대해 설명합니다. 메모리 누출과 같은 문제를 방지하기 위해 사용법, 일반적인 부작용 및 정리를 설명합니다.

게으른로드는 필요할 때까지 컨텐츠로드를 지연시켜 초기로드 시간과 서버로드를 줄임으로써 웹 성능 및 사용자 경험을 향상시킵니다.

JavaScript의 고차 기능은 추상화, 공통 패턴 및 최적화 기술을 통해 코드 간접성, 재사용 성, 모듈성 및 성능을 향상시킵니다.

이 기사는 다중 연계 기능을 단일 연계 함수 시퀀스로 변환하는 기술 인 JavaScript의 카레에 대해 논의합니다. Currying의 구현, 부분 응용 프로그램 및 실제 용도와 같은 혜택, 코드 읽기 향상을 탐색합니다.

이 기사는 가상 Dom 트리를 비교하여 DOM을 효율적으로 업데이트하는 React의 조정 알고리즘을 설명합니다. 성능 이점, 최적화 기술 및 사용자 경험에 미치는 영향에 대해 설명합니다. 문자 수 : 159

이 기사는 REACT의 USECONTEXT를 설명하며, 이는 PROP 시추를 피함으로써 상태 관리를 단순화합니다. 중앙 집중식 상태 및 성능 개선과 같은 렌더링을 통해 성능 향상과 같은 이점에 대해 논의합니다.

기사에서는 extentdefault () 메서드를 사용하여 이벤트 처리기의 기본 동작 방지, 향상된 사용자 경험과 같은 이점 및 접근성 문제와 같은 잠재적 문제에 대해 논의합니다.

이 기사는 예측 가능성, 성능 및 사용 사례와 같은 측면에 중점을 둔 React의 제어 및 통제되지 않은 구성 요소의 장단점에 대해 설명합니다. 그것은 그들 사이에서 선택할 때 고려해야 할 요소에 대해 조언합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
