NodeJS와 MariaDB 연동
express.Router()란?
Express.js에서 라우팅을 모듈화하고 재사용할 수 있게 해주는 클래스
이를 사용하면, 각각의 라우터 파일을 작은 express 애플리케이션처럼 사용할 수 있다.
어플리케이션의 라우트 핸들러를 모듈화하여 코드 구조를 깔끔하게 유지.
예를 들어, 특정 URL 패턴에 대한 요청을 처리하는 미들웨어 함수를 여러 개 작성해야 할 때, express.Router()로 이 함수들을 그룹화하여 코드의 가독성과 재사용성을 향상시킬 수 있음.
다음은 express.Router() 사용 예제
const express = require('express');
const router = express.Router();
// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
console.log('Time: ', Date.now());
next();
});
// define the home page route
router.get('/', function(req, res) {
res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
res.send('About birds');
});
module.exports = router;
위 코드에서 router 객체는 별도의 미들웨어 함수와 경로를 가지며 이것은 메인 애플리케이션에 마운트될 수 있다.
라우터에 대한 개념은 밑에 링크 참고
https://inpa.tistory.com/entry/EXPRESS-%F0%9F%93%9A-%EB%9D%BC%EC%9A%B0%ED%84%B0-Router
express.JS 상에서 회원가입,로그인,회원탈퇴 구현
//mysql-db.js
const mysql = require('mysql');
const connection = mysql.createConnection({
host: ' localhost',
post:3306,
user:'root',
password:'admin123',
database:'mirrorCity_rhythm'
});
module.exports = connection;
<!--login.ejs-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<h1>login</h1>
<form method="post">
<label>id :</label><input type="text" name="userId"><br>
<label>pw :</label><input type="password" name="userPw"><br>
<input type="submit">
</form>
</body>
</html>
//show-all-data.js
//select문을 사용하고 넘어오는 파라미터의 테이터를 확인하도록 한다.
/*
err - 에러가 판단했는지 여부이다. 에러가 일어났다면 어떤 에러인지도 알 수 있다.
rows - 쿼리의 실행결과 가지고 온 데이터이다.
fields - 쿼리의 실행결과 가지고 온 데이터들의 필드정보이다.
*/
const express = require('express');
const router = express.Router();
const mysqlDB = require('./mysql-db');
router.get('/',function(req,res,next){
mysqlDB.query('SELECT * FROM login', function(err, rows, fields) {
if(!err){
console.log(rows);
console.log(fields);
const result = 'rows : '=JSON.stringify(rows)+ '<br><br>' +
'fields : ' +JSON.stringify(fields);
res.send(result);
}else{
console.log('query error: ' +err);
res.send(err);
}
});
});
module.exports = router;
//login.js
//select문과 where절을 사용하고 pre-statment를 사용하는 법을 보도록한다.
const express = require('express');
const router = express.Router();
const mysqlDB = require('../mysql-db');
'나혼자공부시간(평일저녁,주말,휴일때)' 카테고리의 다른 글
promise/async,await(비동기)/curl(컬)/postman(포스트맨) (0) | 2023.08.30 |
---|---|
github(깃헙)-태그달기 (0) | 2023.08.29 |
[Mac OS/맥북 M1] MariaDB 설치 / 마리아 DB 개발환경 설정 (0) | 2023.08.25 |
[MariaDB] MariaDB 관리 접속 및 간단 사용법/포트(port)넘버 확인,변경/설치, 삭제 (0) | 2023.08.24 |
NODE.JS:게시판만들기(생성:create, 수정:Modify, 삭제:delete) (0) | 2023.08.23 |