nodejs CURD(增删改查)get和post方法

来源:互联网 发布:seo网站推广招聘 编辑:程序博客网 时间:2024/06/07 00:00

node+mysql+express

作为一个node初学者,让以后的人有个参考  把我做的一个demo 写出来 就是简单的  CURD 

用到的数据库是 mysql (mongodb以前没研究过,或许以后会研究下),废话不多说 上代码:


1.用node命令 新建一个 express 项目

express -e abcd(项目名,随便叫)


2.创建链接数据库目录文件

abcd/config/db.js

module.exports = {    mysql:{        host:'localhost',        user:'root',        password:'root',        port:3306,        database:'user'    }}

创建module

abcd/config/usersql.js

var UsersSql = {    Insert:'insert into users(username,password) values(?,?)',    QueryAll:'select * from users',    QueryOne:'select * from users where id=?',    Delete:'delete from users where id=?',};module.exports = UsersSql;

3.进入routes 目录 操作 users.js(相当于php里面的 controller)

var express = require('express');var router = express.Router();// 导入MySQL模块var mysql = require('mysql');var dbConfig = require('../config/db');var userSQL = require('../db/usersql');/* GET users listing. */router.get('/', function(req, res) {  res.send('respond with a resource');});// 使用DBConfig.js的配置信息创建一个MySQL连接池var pool = mysql.createPool( dbConfig.mysql );//查询全部router.get('/listuser',function (req, res) {    // 从连接池获取数据    pool.getConnection(function (err, connection) {        // 执行sql语句        connection.query(userSQL.QueryAll, function (error, results) {            if (error) throw error;            //渲染到模版            res.render('listuser', {                title: 'list',                results: results            });            connection.release();        });    });});//    失败了   -_-!!!// router.post('/one',function (req, res) {//     http.createServer(function (request, resend) {//         var body = '';//         request.on('data',function (chunk) {//             body = +chunk;//         })//         request.on('end',function () {//             body = querystring.parse(body);//             pool.getConnection(function (err, connection) {//                 connection.query(userSQL.QueryOne,[body.id],function (error, results) {//                     if (error) throw error;//                     res.render('one',{//                         title:'数据',//                         results:results//                     })//                 })//             })//         })//     })// });//     再来一次    (┬_┬)成功了router.post('/one',function (req, res) {    var id = req.body.id;    pool.getConnection(function (err, connection) {        connection.query(userSQL.QueryOne,[id],function (error, results) {            if (error){                res.end('查询失败',err)            }else {                res.render('one',{                    title:'数据',                    results:results                })            }            connection.release();        })    })});router.get('/add',function (req, res) {    res.render('add',{ title:'增加用户'});});router.post('/addtoo',function (req, res) {    var username = req.body.username;    var password = req.body.password;    pool.getConnection(function (err, connection) {        connection.query(userSQL.Insert,[username,password],function (error, results) {            if (error) throw error;            if (results){                res.redirect('/users/listuser')            }            connection.release();        })    })});router.get('/delete',function (req, res) {   var param = req.query || req.param;   pool.getConnection(function (err, connection) {       connection.query(userSQL.Delete,[param.id],function (error, results) {           if (error) throw error;           if (results){               res.redirect('/users/listuser')           }           connection.release();       })   })});router.get('/edit',function (req, res) {    var param = req.query || req.param;    pool.getConnection(function (err, connection) {        connection.query(userSQL.QueryOne,[param.id],function (error, results) {            if (error) throw error;            if (results){                res.render('edit',{                    title:'修改',                    results:results                })            }            connection.release();        })    })});router.post('/toedit',function (req, res) {    var id = req.body.id;    var username = req.body.username;    var password = req.body.password;    pool.getConnection(function (err, connection) {        var sql = 'update users set username="'+username+'", password="'+password+'" where id='+id;        console.log(sql);        connection.query(sql,function (error, results) {            if (error) throw error;            if (results){                res.redirect('/users/listuser');            }            connection.release();        })    })})module.exports = router;

4.最后说明一点 ejs 模版 foreach循环

<% results.forEach(function(b, index) { %>    <li><%= b.id %></li>    <li><%= b.username %></li>    <li><%= b.password %></li><% }); %>
其中:results 是传过来的 数据,对象 index是数量也就是 count

模版文件和数据库 我就不一 一贴出来了 相信大家都会  


结语:nodejs 渲染模版文件  如果 不想用ejs 或者 jade 请查看 我的其他文章:http://blog.csdn.net/genziisme/article/details/70254614  关于如何更改模版引擎

1 0
原创粉丝点击