[개발] mysql 패키지를 이용한 DB 접근

in upvu •  last year 

안녕하세요 @relamankwon 입니다.

sequelize만 사용하다가 다른 db에 접근할 일이 있어서 예전에 사용하던 mysql 패키지를 사용할 일이 생겼습니다.
다음은 mysql 패키지를 사용하여 쿼리를 실행하고 Promise를 반환하는 예제입니다.

const mysql = require('mysql');

// 데이터베이스 연결을 위한 연결 객체 생성
const connection = mysql.createConnection({
  host: 'localhost',
  user: '사용자_이름',
  password: '비밀번호',
  database: '데이터베이스_이름'
});

// 데이터베이스 연결
connection.connect((error) => {
  if (error) {
    console.error('데이터베이스 연결 오류:', error);
    return;
  }
  console.log('데이터베이스에 연결되었습니다!');

  // 쿼리 실행 후 Promise를 반환하는 함수
  function executeQuery(sql) {
    return new Promise((resolve, reject) => {
      connection.query(sql, [], (err, results) => {
        if (err) {
          reject(err);
        } else {
          resolve(results);
        }
      });
    });
  }

  // 사용 예시
  const sql = 'SELECT * FROM users';
  executeQuery(sql)
    .then((results) => {
      // 쿼리 결과 처리
      console.log('쿼리 결과:', results);
    })
    .catch((error) => {
      // 오류 처리
      console.error('쿼리 실행 오류:', error);
    })
    .finally(() => {
      // 데이터베이스 연결 종료
      connection.end((error) => {
        if (error) {
          console.error('데이터베이스 연결 종료 오류:', error);
          return;
        }
        console.log('데이터베이스 연결이 종료되었습니다.');
      });
    });
});

적용하니 잘 실행이 되네요 ㅎㅎ

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!