NodeJS
[NodeJS] - MySQL 연동하기(Connection Pool), delete문
Riucc
2018. 12. 3. 16:14
○ MySQL 연동하기(Connection Pool), delete문 |
※ Connection Pool 설정은 http://riucc.tistory.com/533 참조 // app.js // 'pool.getConnection() -> connection.query() -> connection.release()' 코드 흐름을 따름 // 공지사항 출력한 목록 들어가서 해당 공지 게시물 삭제 // :noticeNo (Route Parameters 사용) router.route('/process/notice/delete/:noticeNo').get(function(req, res) { // 커넥션 풀에서 연결 객체를 가져옴 pool.getConnection(function(err, conn) { if (err) { if (conn) { conn.release(); // 반드시 해제해야 함 } callback(err, null); return; } console.log('데이터베이스 연결 스레드 아이디 : ' + conn.threadId); // 페이지 번호를 가져와서 대입(Route Parameters) var noticeNumber2 = req.param('noticeNo'); console.log('noticeNum : ' + noticeNumber2); // SQL 문을 실행함 conn.query('DELETE FROM notice WHERE noticeNo=?', [noticeNumber2], function(err, result) { conn.release(); // 반드시 해제해야 함(해제안할 시 DB연결 수가 계속 늘어남!!!) // connectionLimit 값이 작을 경우 초과해서 서버 터짐 console.log(result); if(result) { console.log('정상적으로 공지사항 DB에서 삭제 완료'); res.redirect('/process/notice'); } else { console.log('공지사항 DB에서 삭제 실패'); } }); }); }); // notice_detail.ejs <!-- 공지 출력 부분 --> <div class="Notice" style="margin-top:70px;"> <div class="NoticeView"> <div class="container"> <div class="UIOPanelBox"> <h3 style="margin-bottom: 30px;">공지사항</h3> <div class="noticeViewTitle"><%= notice_result[0].noticeTitle %> <span><%= notice_result[0].noticeDate %></span></div> <div class="noticeContents"> <div><span><%= notice_result[0].noticeDesc %></span></div> </div> <div class="btnWrap text-right" style="margin-top: 15px;"> <!-- 로긴 유저가 어드민일 시 삭제 버튼 토출되게 --> <% if(userSessionId == "admin") { %> <a class="btn btn-outline-primary" href="/process/notice/delete/<%= notice_result[0].noticeNo %>" style="margin-right: 20px;">삭제</a> <% } %> <a class="btn btn-outline-primary" href="/process/notice">목록</a> </div> </div> </div> </div> </div> |