npm install mysql2
import mysql from "mysql2";
import dotenv from "dotenv";
dotenv.config(); // .env 파일의 환경 변수를 로드
const { DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE } = process.env;
const connection = mysql.createConnection({
host: DB_HOST,
user: DB_USER,
password: DB_PASSWORD,
database: DB_DATABASE,
});
connection.connect(); // 연결
// 연결 테스트
const sql = "SELECT * FROM MEMBER";
connection.query(sql, (error, rows, fields) => {
if (error) throw error;
console.log("Member info is ", rows); // 콘솔에 해당 값이 출력되면 연결 성공
});
connection.end(); // 연결 해제
express를 이용하여 클라이언트에서 데이터를 요청하면 DB에 있는 데이터를 제공할 수 있도록 코드를 작성
// db_config.ts
// 데이터베이스 설정과 관련 파일은 따로 분리
import dotenv from "dotenv";
dotenv.config(); // .env 파일의 환경 변수를 로드
const { DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE } = process.env;
const db_config = {
host: DB_HOST,
user: DB_USER,
password: DB_PASSWORD,
database: DB_DATABASE,
};
export default db_config;
import express from "express";
import mysql from "mysql2";
import db_config from "./config/db_config";
const connection = mysql.createConnection(db_config);
const app = express();
// 설정
app.set("port", process.env.PORT || 3000);
app.get("/", (req, res) => {
res.send("hello");
});
app.get("/users", (req, res) => {
const sql = "SELECT * FROM MEMBER";
connection.query(sql, (error, rows, fields) => {
if (error) throw error;
console.log("Member info is ", rows);
res.send(rows);
});
});
app.listen(app.get("port"), () => {
console.log("Express server listening on port " + app.get("port"));
});