export const config = {
db: {
host: "localhost",
user: "apple",
password: "1111",
database: "nodejs",
},
};
import mysql from "mysql2";
import { config } from "./config.mjs";
const pool = mysql.createPool({
host: config.db.host,
user: config.db.user,
database: config.db.database,
password: config.db.password,
});
export const db = pool.promise();
import { db } from "./db.mjs";
export async function getUsers() {
// db.query("select * from member")의 반환은 [rows, fields]
const [rows] = await db.query("select * from member");
// console.log(rows);
return rows;
}
export async function createUser(
userid,
userpw,
name,
hp,
email,
gender,
ssn1,
ssn2,
zipcode,
address1,
address2,
address3
) {
const [result] = await db.query(
"insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values (?, ?, ?, ?, ?, ?, ? , ? , ? , ?, ?, ?)",
[
userid,
userpw,
name,
hp,
email,
gender,
ssn1,
ssn2,
zipcode,
address1,
address2,
address3,
]
);
return result.insertId;
}
// update
export async function updateUserEmail(idx, newEmail) {
const [result] = await db.query("update member set email=? where idx=?", [
newEmail,
idx,
]);
return result.affectedRows; // 몇 개의 행이 수정됐는지
}
// delete
export async function deleteUser(idx) {
const [result] = await db.query("delete from member where idx = ?", [idx]);
return result.affectedRows; // 몇 개의 행이 삭제됐는지
}
import { deleteUser, getUsers, updateUserEmail } from "./userRepository.mjs";
import { db } from "./db.mjs";
import { createUser } from "./userRepository.mjs";
async function main() {
// select
// const users = await getUsers();
// console.log("사용자 목록: ", users);
// insert
// userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3
/*
const newUserId = await createUser(
"hsgo",
"1011",
"현서",
"010-1111-1111",
"hsgo@naver.com",
"여자",
"000000",
"0000000",
"12345",
"서울 광진구 자양동",
"11-11",
"17층"
);
console.log("새 사용자 ID: ", newUserId);
*/
// update
/*
const updateCount = await updateUserEmail(1, "apple@naver.com");
console.log("수정된 사용자 수: ", updateCount);
await db.end(); // 풀 종료(보통 사용하지 않음)
*/
// delete
const deletedCount = await deleteUser(6);
console.log("삭제된 사용자 수: ", deletedCount);
}
main();
💥 index.mjs 코드에서
await db.end();를 하면 풀이 종료된다...
💥 insert부분은 MySQL에서 테이블 결과를 확인할 수 있다.
💥 select, update, delete 부분은 vscode 콘솔 창에서 MySQL과 연동되어 나타난 결과를 확인할 수 있다.