반응형
어쩌다 보니 프론트엔드 개발자로 시작했던 내가 데이터도 조금 손볼일이 생겼다
sqld 자격증이 있지만 sql문은 사용할줄 모르는 ㅎㅎ...
쨌든 오늘은 Next js를 maridb와 연결? 하는 방법을 알아보겠다
일단 터미널에서 npm i mariadb를 통해 마리아db를 설치해준다
(아 당연히 mariadb를 brew를 통해 이미 설치하고 db도 만들어뒀다)
그리고 파일은 어디에 들어가든지 상관 없을거 같은데
src/lib/db.ts 이 경로에 db.ts파일을 만들어 주고
import mariadb from 'mariadb';
const pool = mariadb.createPool({
host: process.env.host,
user: process.env.user, // MariaDB 유저명
password: process.env.password, // MariaDB 비밀번호
database: process.env.database,
});
export default pool;
이렇게 만들어 준다
원래 처음에는 Host나 user값을 직접 넣어줬는데
저런 값들도 보안이 중요한 정보니까
.env파일을 만들어서 거기 안에 넣어서 불러왔다
참고로 next에서는 저런식으로 process.env.변수명
을 사용하면 자동으로 env에 있는 값들을 불러와서 쓸 수 있다
저렇게 설정을 해주고
api를 만들 파일로 가서
import pool from '@/lib/db';
export async function GET() {
let conn;
try {
conn = await pool.getConnection();
const data = await conn.query('SELECT * from table');
return NextResponse.json({
data
})
} catch (err:any) {
throw err
} finally {
if (conn) conn.end();
}
}
요런식으로 작성해주면 sql문으로 db에 있는 데이터를 가져오거나 수정해 줄 수 있다
생각보다 next <=> mariadb 자료가 없어서 쪼금 고생을 했다
아무튼 누구든 도움이 됐길 바란다.
반응형