ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • mysql 게시글 불러오기- 데이터 전부 불러오기.
    DataBase/Mysql 2022. 1. 17. 16:27

    저번 글에서 게시글 작성에 관련된 것을 작성했다면, 이번 글에서는 작성한 글들을 전부 불러오는 방법에 대해서

    다룰거다. 두가지 방식으로 정보를 가져올 것인데, 하나는 쿼리문을 이용해서 가져오는 방법과

    다른 하나는 sequelize로 가져오는 방법 두가지를 사용할 예정이다

     

    GET요청으로 게시글 전부 불러오기

    app.js 같은 경우에 변경사항은 없다 이유는 이미 저번 글에서 index.html을 랜더링을 했기 때문에

    routes의 index.js에서 GET요청만 하면 된다. 

     

    routes/index.js

    // GET요청하기 sequelize

    const express = require('express');
    const router = express.Router();
    const { Posts} = require('../models');

    router.get("/get", async (req, res) => {
    try{
        const posts = await Posts.findAll({
        order: [
            ["createdAt", "DESC"] 
         ],
    });
    res.json(posts);// });
    } catch(error) {
        console.log(`${req.method} ${req.originalUrl} : ${error.message}`);
        res.status(400).send({
            errorMessage: "형식이 잘못됐습니다.",
        });
    }
    });
    module.exports = router;

    위의 방식이 sequelize로 게시글 전부 불러오는 방식이다 Posts의 데이터 테이블에서 findAll 전부 찾는다. 

    그리고 createdAt = 게시글작성 시간 을 내림차순으로 정렬하겠다는 뜻이다.

     

    다음은 쿼리문을 사용하여 가져오는 방식이다.

     

    routes/index.js

    // GET요청하기 sql문

    const express = require('express');
    const router = express.Router();
    const { Posts, sequelize, Sequelize} = require('../models');

    router.get("/get", async (req, res) => {
        try {
            const sql =
                ` SELECT *
                    FROM Posts
                    ORDER BY createdAt DESC; `
            await sequelize.query(sql, {type: Sequelize.QueryTypes.SELECT})
            .then((result) => {
                res.status(200).send({result})
            });
        } catch(error) {
            console.log(`${req.method} ${req.originalUrl} : ${error.message}`);
            res.status(400).send({ errorMessage: "형식이 잘못됐습니다.", });
        }
    })

    module.exports = router;

    위의 방식은 sql 쿼리문을 이용해서 데이터를 전부 불러오는 방식이다. 불러오는 방법은 위의 씨퀄라이즈와 같은 내용이다.

    대신에 await하는 방식에서 쿼리문을 SELECT문을 사용하겠다는 것을 알려줘야 한다.

     

    이렇게 오늘은 2가지 방식의 데이터를 불러오는 방식을 작성해 보았다.

    postman을 이용하여 게시글 전부 불러오기.

    위의 사진 같은 경우에는 포스트맨을 이용하여 데이터가 잘 불러오는지

    확인하는 작업이였습니다. 다른것은 포트 번호가 8080에서 3000번으로

    바뀐 것 밖에 없습니다.

    'DataBase > Mysql' 카테고리의 다른 글

    mysql 게시글 불러오기- 데이터 저장  (0) 2022.01.17
    mysql 게시글 불러오기- db  (0) 2022.01.06
    MYSQL 기본 명령어  (0) 2021.10.11
    Mysql이란?  (0) 2021.10.11

    댓글

Designed by Tistory.