我是靠谱客的博主 繁荣白猫,最近开发中收集的这篇文章主要介绍nodejs CURD(增删改查)get和post方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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  关于如何更改模版引擎

最后

以上就是繁荣白猫为你收集整理的nodejs CURD(增删改查)get和post方法的全部内容,希望文章能够帮你解决nodejs CURD(增删改查)get和post方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部