자바스크립트를 배우고 있는 예비 개발자입니다.
수정할 부분이 있으면 알려주시면 감사드리겠습니다 :)
📌 ORM
📌 Sequelize
ORM
Object Relational Mapping의 줄임말이다.
객체와 model사이에서 통역사 역할을 하고 있는 ORM은 관계형 데이터베이스의 엔티티, 레코드에 접근할 때 객체 혹은 class를 다루듯이 취급할 수 있다고 한다.
즉, 객체와 관계형 데이터베이스 사이에서 데이터베이스에 저장된 정보를 매핑해주는 역할을 한다.
(공식문서: https://sequelize.org/master/)
SQL 쿼리문을 Sequelize에서는 아래와 같이 작성할 수 있다.
* INSERT queries
// Create a new user
const jane = await User.create({ firstName: "Jane", lastName: "Doe" });
console.log("Jane's auto-generated ID:", jane.id);
* SELECT queries
// Find all users
const users = await User.findAll();
* DELETE queries
// Delete everyone named "Jane"
await User.destroy({
where: {
firstName: "Jane"
}
});
* UPDATE queries
// Change everyone without a last name to "Doe"
await User.update({ lastName: "Doe" }, {
where: {
lastName: null
}
});
*** Applying WHERE clauses
Post.findAll({
where: {
authorId: 2
}
});
// 기존 SQL문 - SELECT * FROM post WHERE authorId = 2
[출처]
https://sequelize.org/master/manual/model-querying-basics.html
실무에서 많이 사용된다는 MVC pattern과 ORM, Sequelize를 배워봤다.
음.. 이번 스프린트를 진행하면서 느낀 점은 막상 코드 구현을 해보니 예상 외로 코드가 짧아 허탈했지만 구현 과정 즉 설계하는데에 꽤 신중을 기했어야 했다. 특히 Controller에서 많은 시간을 투자했었다.
쉽지않을 것이라 예상은 했지만
역시나 어려웠다. 더 연습하자!
[참고]
https://velog.io/@alskt0419/ORM%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C...-iek4f0o3fg