카테고리 없음
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;