[ MariaDB ] React + express + MariaDB 연결

ma.caron_g·2022년 12월 19일
0

MariaDB

목록 보기
3/3
post-thumbnail

<참고 링크>

전 게시글에서 서버 환경을 설정해봤습니다.

이때 express를 사용했는데

[ express란? ]

Node.js의 핵심 모듈인 http와 Connection 컴포넌트를 기반으로 하는 웹 프레임워크입니다.

[ express 사용법 ]

const express = require('express');
const app = express();
app.use(express.json());

app() 객체에 담아 json() 형태로 사용

const port = process.env.PORT || 4000;
app.listen (PORT, () => console.log('running on port ${PORT}');

웹 서버를 만들기 위해 PORT는 필수입니다.

process.env.PORT는 속성이 있을 때만 사용이 가능하지만 현재는 4000 포트를 사용합니다.

app.listen()함수는 바인딩하는 데 사용하고 지정된 호스트 및 포트에 연결할 때 사용합니다.

이 메소드는 Node의 http.Server.listen()메소드와 동일합니다.

포트 번호가 생략되거나 0인 경우 운영 체제는 자동화 된 작업 (테스트 등)과 같은 경우에 유용한 사용되지 않는 임의의 포트를 할당합니다.

[ MariaDB란? ]

MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
MySQL 개발자들이 오라클 사에서 나와 따로 만든 것이 MariaDB입니다.
MySQL과 동일한 소스코드 기반이며 MySQL보다 속도가 약 4~5천배 정도 빠르다고 합니다.

[ MariaDB 설치 ]

$ npm install mariadb

[ MariaDB 연동 ]

database.json 파일을 생성하고 다음과 같이 넣어줍니다.

{
    'host": "localhost",
    "user": "root",
    "password": "[DB 비밀번호]",
    "port": "[포트 번호]",
    "database": "[DB명]",
}

데이터베이스에 접근하기 위한 값을 적어놓습니다.

const express= require('express');
const app = express();
const PORT = process.env.PORT || 4000;

const mariadb = require('mariadb');

const fs = require('fs');
const data = fs.readFileSync('./src/database.json');
const conf = JSON.parse(data);

const conn = mariadb.createPool({
    host:conf.host,
    user:conf.user,
    password:conf.password,
    port:conf.port,
    database:conf.database,
    multipleStatements: true,
})

데이터베이스에 연결된 Connection을 미리 만들어 둔 후 Pool에 보관하였다가 필요할 때 Pool에서 Connection을 가져다 사용한 후, 다시 Pool로 반환하는 기법으로,
Connction Pool을 이용하면 여러 Connection을 이용할 수 있기 때문에 큰 부하를 견딜 수 있습니다.

[ express + MariaDB 사용 ]

const test = conn.query("SELECT * FROM [테이블명]);
app.get('/[원하는 URL]', (req, res) => {
  res.send(test)
})

다음 코드를 추가하고 해당 URL로 이동하시면

query문이 데이터베이스 서버에 전송됩니다.

profile
다른 사람이 만든 것을 소비하는 활동보다, 내가 생산적인 활동을 하는 시간이 더 많도록 생활화 하자.

0개의 댓글