공부용

Node.js & MySql (2021.05.03 수정중) 본문

카테고리 없음

Node.js & MySql (2021.05.03 수정중)

고딕짱! 2021. 5. 3. 15:50

계층구조

 

main

ㄴ--- server

       ㄴ--- config

               ㄴ--- dbconfig.js

       ㄴ--- module

               ㄴ--- member.js

ㄴ--- logger.js

ㄴ--- mysql.js

ㄴ--- server.js

 

 

 

#server.js

//server.js

const express = require('express');
const app = express();
const member = require('./module/member');
const bodyParser = require('body-parser');

const port = 3000;

app.use(bodyParser.urlencoded({ extended: false }))

app.get('/', (req, res) => {
    res.send('hello world');
});

//멤버 모듈
app.use('/member', member);



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

 

#member.js (2021.05.03 수정중)

//member.js

const express = require("express");
const getConnection = require("../mysql");
const router = express.Router();

router.get("/getMember", (req, res) => {

    const sql = 'select * from tblMember';
    const values = {

    };

    getConnection((conn) => {
        conn.query(sql, values, (err, rows) => {
           if(err){
               console.log(err);
           }
            console.log(rows);
        });
        conn.release();
    });
});

router.get("/addMember", (req, res) => {


    const id = "test4";
    const pw = "test5";
    // const id = req.body.id;
    // const pw = req.body.pw;

    const sql = 'insert into tblMember values (3, ?, ?)';
    const values = [id, pw];
    console.log(id);

    getConnection((conn) => {
        conn.query(sql, values, (err, rows) => {
            if(err) {
                console.log(err);
            }
            console.log(rows);
        });
    })

})


module.exports = router;

 

#mysql.js

//mysql.js

const mysql = require('mysql');
const db_config = require("./config/dbconfig");
const logger = require('./logger');


const pool = mysql.createPool(db_config);



function getConnection(callback) {
    pool.getConnection(function (err, conn) {
        if(!err) {
            callback(conn);
        } else {
            console.log(err);
        }
    });
}



module.exports = getConnection;

 

#logger.js

//logger.js

//const appRoot = require('app-root-path');
const winston = require('winston');
//const process = require('process');

const { combine, timestamp, label, printf } = winston.format;

const myFormat = printf(({ level, message, label, timestamp }) => {
    return `${timestamp} [${label}] ${level}: ${message}`;
});

const options = {

    console: {
        level: 'debug',
        handleExceptions: true,
        json: false,
        colorize: true,
        format: combine(
            label({ label: 'express_server' }),
            timestamp(),
            myFormat
        )
    }
}

let logger = new winston.createLogger({
    transports: [
        new winston.transports.Console(options.console)
    ],
    exitOnError: false, // do not exit on handled exceptions
});


logger.stream = {
    write: function(message, encoding) {
        logger.info(message);
    },
};

module.exports = logger;

 

#dbconfig.js

//dbconfig.js

const db_config = {
    host : "host",
    user : "user@server",
    password : "password",
    port: "port",
    database : "database",
    ssl: true
}

module.exports = db_config;

 

 

Comments