- 값이 서로 넘어가는 방법을 알아보았고, mysql 모듈을 사용하는 방법을 알아내었으니 회원가입을 하여 db에 저장하는 방법을 해보려고 합니다.
- db에 연결하는 방법은 단순히 connection을 이용하는 방법이 있지만, 실제서버에서는 안정적인 connection pooling기법을 사용하고 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | var pool = mysql.createPool({ connectionLimit : 150, host : 'localhost', user : 'root', password : '1234', database : 'node' }); ... ... ... //members router.post('/members', function(req,res){ // console.log(req.body); var attr = req.body; delete(attr.id_ch); delete(attr.pass_ch); delete(attr.email_ch); delete(attr.tel1); delete(attr.m_tel2); delete(attr.m_tel3); delete(attr.m_pass_ch); var queryString = 'Insert into member Set ?'; pool.getConnection(function(err,connection){ connection.query(queryString,req.body, function(err, result) { if (err) throw err; console.log("insert member!"); }); connection.release(); res.render('members',req.body); }); }); |
- pooling 예제에서했던것들을 중간에 넣어 사용하면 끗!
- join(회원가입)에서 members로 페이지를 넘기면 db에관한 처리후(24~30라인) members.ejs를 불러와 페이지를 로드(31번라인)합니다.
- 제 예제에서는 member에 들어가는 값들에는 불필요한 값들(16~22번라인)의 값들을 제거하고 26번줄의 req.body를 넣어줌으로서 값에 대한 맵핑을 손쉽게 처리하였습니다.
- 으로 값을 넣어 가입을 눌러
- DB에 값이 저장되었습을 확인하였습니다.

