본문 바로가기
학원에서 배운 것/node.js

KDT 5th 웹개발자 입문 수업 28일차 -2

by 쿠리의일상 2023. 3. 15.

 

DB 통신을 하는 back 서버를 구축하기

백엔드 폴더에 DB를 컨트롤하는 controllers 폴더를 생성하고

mysql을 읽어오는 dbConnect.js 를 만들어준다.

 

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '12345678',
  port: '3306',
  database: 'mydb',
});

connection.connect();

module.exports = connection;

npm i mysql 로 설치부터

 

require 로 mysql을 읽어오고 createConnection() 으로 연결해준다.

createConnection 함수의 매개변수로는 접속을 위한 객체를 넣어줘야 하는데, host / user / password / port / database 를 입력해준다.

 

마지막으로 connect() 함수로 연결해주고 모듈로 빼주면 된다.

 

 

위에서 작성한 mysql 을 사용하여 DB를 읽어오는 모듈, Controller 임

const connection = require('./dbConnect');

const userDB = {
  getUsers: (callback) => {
    connection.query('SELECT * FROM `mydb`.`user`;', (err, data) => {
      if (err) throw err;

      console.log(data);
      callback(data);
    });
  },
};

module.exports = userDB;

 

위의 컨트롤러를 사용하여 데이터를 불러올 수 있다.,.

const express = require('express');
const userDB = require('../controllers/userController');

const router = express.Router();

router.get('/', (req, res) => {
  userDB.getUsers((data) => {
    res.send(data);
  });
});

module.exports = router;