BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2015. 7. 22. 19:27

Node.js + MySQL 데이터베이스를 통한 게시판 구현

 

모던 웹을 위한 Node.js 프로그래밍 9장 전체 소스 입니다.

 

ch09.zip

 

// 모듈을 추출합니다.
var fs = require('fs');
var http = require('http');

var ejs = require('ejs');    // npm install ejs
var mysql = require('mysql');   // npm install mysql
var express = require('express');  // npm install
express@3.4.7
var bodyParser = require('body-parser');  // npm install body-parser

 

// 데이터베이스와 연결합니다.
var client = mysql.createConnection({
    user: 'root',
    password: '3243aa',
    database: 'Company'
});

 

// 서버를 생성합니다.
var app = express();
app.use(bodyParser());
app.use(app.router);

 

// 서버를 실행합니다.
http.createServer(app).listen(52273, function () {
    console.log('server running at
http://127.0.0.1:52273');
});

 

// 라우트를 수행합니다.
app.get('/', function (request, response) { 
    // 파일을 읽습니다.
    fs.readFile('list.html', 'utf8', function (error, data) {
        // 데이터베이스 쿼리를 실행합니다.
        client.query('SELECT * FROM products', function (error, results) {
            // 응답합니다.
            response.send(ejs.render(data, {
                data: results
            }));
        });
    });
});

 

app.get('/delete/:id', function (request, response) { 
    // 데이터베이스 쿼리를 실행합니다.
    client.query('DELETE FROM products WHERE id=?', [request.param('id')], function () {
        // 응답합니다.
        response.redirect('/');
    });
});

 

app.get('/insert', function (request, response) { 
    // 파일을 읽습니다.
    fs.readFile('insert.html', 'utf8', function (error, data) {
        // 응답합니다.
        response.send(data);
    });
});

 

app.post('/insert', function (request, response) {
    // 변수를 선언합니다.
    var body = request.body;

    // 데이터베이스 쿼리를 실행합니다.
    client.query('INSERT INTO products (name, modelnumber, series) VALUES (?, ?, ?)', [
        body.name, body.modelnumber, body.series
    ], function () {
        // 응답합니다.
        response.redirect('/');
    });
});

 

app.get('/edit/:id', function (request, response) {
     // 파일을 읽습니다.
    fs.readFile('edit.html', 'utf8', function (error, data) {
        // 데이터베이스 쿼리를 실행합니다.
        client.query('SELECT * FROM products WHERE id = ?', [
            request.param('id')
        ], function (error, result) {
            // 응답합니다.
            response.send(ejs.render(data, {
                data: result[0]
            }));
        });
    });
});

 

app.post('/edit/:id', function (request, response) {
     // 변수를 선언합니다.
    var body = request.body

    // 데이터베이스 쿼리를 실행합니다.
    client.query('UPDATE products SET name=?, modelnumber=?, series=? WHERE id=?', [
        body.name, body.modelnumber, body.series, request.param('id')
    ], function () {
        // 응답합니다.
        response.redirect('/');
    });
});

 

출처 : 윤인성 저 모던 웹을 위한 Node.js 프로그래밍

반응형

'NodeJS' 카테고리의 다른 글

NodeJS 코딩환경 구축(NTVS)  (0) 2015.08.11
Node.JS 한글 깨지는 문제  (0) 2015.07.31
Express 프레임워크 구축하기  (0) 2015.07.31
node.js 에서 express 사용하기  (0) 2015.07.22