WEB/NodeJS

[Node.js] Node.js - MySql 연동

다콩잉 2022. 9. 19. 02:39

이번에는 지난번 DB 연동없이 Node.js로 CRUD를 만들었던 코드에 DB를 연동해보려고 한다.

데이터베이스 MySql 사용했다.

 

 

 

1. mysql 확장 모듈 설치

npm i mysql

 

 

2. 모듈 import

import mysql from "mysql";

 

3. Connection 만들기

 

 

4. db연결(본인은 Middleware로 연결함)

db가 잘 연결되었는지 확인하기 위해 select문 쿼리를 보냄
DB
user_id -> 1을 잘 가지고 오는 것을 알 수 있음

 

 

 

server.js

import express from "express";
import mysql from "mysql";
import morgan from "morgan";    // middleware
import boardRouter from "./routers/boardRouter.js";

const PORT = 4000;
const app = express();

const db = mysql.createConnection({
    host: 'localhost', // DB가 위치한 IP주소
    port: 3306,          // DB와 연결할 포트번호
    user: 'root',        // 계정이름
    password: 'pw',    // 계정 비밀번호
    database: 'crud'    // 스키마 이름
  });

app.set("view engine", "pug");  // html 템플릿 엔진
app.set('views', process.cwd() + "/src/views")
app.use(morgan("dev")); // ex) / 304 4.252 ms - - => path, status code, 응답시간
app.use(express.urlencoded({ extended: true} ));

const middle = (req, res, next) => {
    const sqlQuery = "select user_id from user";
    db.query(sqlQuery, (err, result) => {
        if (err) {
            console.log(err);
        }
        console.log(result);
    });
    next();
}

app.use("/", middle, boardRouter);

const handelListening = () => 
    console.log("서버 시작 " + `http://localhost:${PORT}`);

app.listen(PORT, handelListening);
728x90