npm install mariadb
요놈이 설치가 다되면 프로젝트에서 mariadb 를 가져다 사용할 수 있다.
const mariadb = require("mariadb");
라이브러리 명은 mariadb이다. 이 라이브러리 이름으로 require 한다.
연결하기
Mariadb 에서 우선 연결을 생성하기 위해서 Pool을 만들어야 한다. pool 은 데이터 베이스의 세션을 만들어 관리해주는 공간이라고 보면 좋다. 이미 다른 트렌젝션에서 데이터 베이스의 읽기 쓰기가 진행 중인 경우 알아서 다른 유효한 pool 의 세션을 가져와 해당 연결로 작업을 수행한다.
const pool = mariadb.createPool({
host: 'localhost',
user: 'root',
password: 'test',
database: 'test',
connectionLimit: 10
});
host 에는 대상 주소를, user 에는 계정명, password는 계정 비밀번호, database는 연결할 데이터 베이스 명을 입력한다. 그리고 connectionLimit 가 바로 그 풀에 존재할 연결 최대 개수를 입력한다. 아무리 많은 작업 요청이 들어오더라도 세션 10개 이상은 안넘어간다는 의미이다.
쿼리 보내기
쿼리를 보내고 결과를 받는 방법은 매우 간단하다. connection 객체를 가져와 쿼리를 보내면 된다.
let connection = await pool.getConnection();
먼저 위 쿼리로부터 연결 세션을 하나 가져온다. 이 때 이 메서드는 비동기로 실행되기 때문에, await 없이 가져오면 Promise 값이 가져와진다. 이 경우 then 을 통해 처리가 완료된 후 컨넥션을 가져와야 하며, 이러한 작업이 귀찮을 경우 비동기 함수를 하나 만들어 await 한다.
let result = await connection.query("INSERT INTO test values(?)", "test");