본문 바로가기
카테고리 없음

[Node.js] MariaDB와 연동하기

by _S0_H2_ 2021. 2. 16.
728x90
반응형

1. MariaDB 설치

 

2. 간이 table 생성

windows 메뉴에서 mariaDB 검색

차례대로 입력

DROP DATABASE IF EXISTS nodejs_test;
CREATE DATABASE nodejs_test;
DROP USER IF EXISTS nodejs_admin;
CREATE USER nodejs_admin@'%' IDENTIFIED BY 'admin';
GRANT ALL PRIVILEGES ON nodejs_test.* to nodejs_admin@'%';
USE nodejs_test;
DROP TABLE IF EXISTS users;
CREATE TABLE users (
    user_key INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id VARCHAR(128) UNIQUE NOT NULL
);
INSERT INTO users(user_id) VALUES('TEST01');

 

다음을 입력하면 테이블 구조를 확인할 수 있다.

 

3. nodejs 프로젝트 생성

index.js 파일 생성

(cmd) npm init 

프로젝트 관련 여러 사항을 입력해준다.

 

package name : (db_edu) mariadb-test

description : mariadb connection testing project.

author : 담당자

 

4. 해당 폴더에 들어가면 package.js 파일 이 자동으로 생성되어 있음

 

5. 커넥터 설치하기

 

6. Visual Studio Code에서 MariaDB 사용 코드 작성

consts.js

mariaDBConn.js 

const mariadb = require('mariadb');
const vals = require('./consts.js');
 
const pool = mariadb.createPool({
    host: vals.DBHost, port:vals.DBPort,
    user: vals.DBUser, password: vals.DBPass,
    connectionLimit: 5
});
 
async function GetUserList(){
    let conn, rows;
    try{
        conn = await pool.getConnection();
        conn.query('USE nodejs_test');
        rows = await conn.query('SELECT * FROM users');
    }
    catch(err){
        throw err;
    }
    finally{
        if (conn) conn.end();
        return rows[0];
    }
}
 
module.exports = {
    getUserList: GetUserList
}

index.js

const mdbConn = require('./mariaDBConn.js')
const express = require('express');
const app = express();
 
mdbConn.getUserList()
  .then((rows) => {
    console.log(rows);
  })
  .catch((errMsg) => {
    console.log(errMsg);
  });
 
const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`listening on ${port}`);
});

 

7. 실행 및 결과 확인

(cmd) 해당 폴더에서 node indes.js 

 

728x90
반응형