Android Studio/프로젝트: YAMING

Node.js와 MySQL 연결

Devwon99 2023. 10. 17. 02:27

노드 최초 설정은 생략

cmd에서 mySQL2 모듈 설치 npm install -S mysql2

index.js -> 서버 시작

const express = require('express');
const userRouter = require('./userRouter');

const app = express();
const port = 3000;

app.use(express.json());
app.use(`/user`, userRouter);

app.get('/', (req, res) => {
    res.json({
        success: true,
       
    });
});

app.listen(port, () => {
    console.log(`server is listening at localhost:${port}`);
});

 

 

userDB.js -> DB접속 정보

const mysql = require('mysql2');

const pool = mysql.createPool //접속 정보
({
    host: '****************',
    user: '*************',
    database: '*************',
    password: '**************',
    port: '*************',
    waitForConnections: true,
    connectionLimit: 10,
    queueLimit: 0
})

const getUser = async ()=>
{
    const promisePool = pool.promise();
    const [rows] = await promisePool.query('select * from user;');
    console.log(rows);
    return rows;
};

module.exports =
{
    getUser
};

 

 

userRouter.js -> 정보 가져오기

const express = require('express');
const userDB = require('./userDB');
const router = express.Router();

router.get('/getUser', async (req, res)=>
{
    let res_get_users =
    {
        status_code : 500,
        user : []
    };

    try
    {
        const rows = await userDB.getUser();
        res_get_users.status_code = 200;
        if(rows.length > 0)
        {
            rows.forEach((user)=>
            {
                res_get_users.user.push
                ({
                    email : user.email,
                    password : user.password,
                    name : user.name,
                });
            });
        }
        else
        {
            console.log('사용자 없음');
        }
    }
    catch(error)
    {
        console.log(error.message);
    }
    finally
    {
        var result = '';

        for(var i = 0; i < res_get_users.user.length; i++)
        {
            result += "========================================<br>";
            result += " email : "+res_get_users.user[i].email+" <br>";
            result += " password : "+res_get_users.user[i].password+" <br>";
            result += " name : "+res_get_users.user[i].name+" <br>";
            result += "========================================<br>";
           
            result += "<br>";
        }

        res.send(result);
    }
});

module.exports = router;

 

 

npm run start 서버 실행

 

크롬에서 URL(localhost:3000 접속 결과)

 

크롬에서 URL(localhost:3000/User/getUser 접속 결과)