一个极简版的nodejs增删改查

json版

var express = require('express');
var fs = require("fs");

var app = express();


app.get("/", function(req, res){

    res.send("Hello , welcome to index!<br>"+
        "<a href='http://localhost:8081/addUser'>增</a><br>"+
        "<a href='http://localhost:8081/update/1'>改 +id,  默认1</a><br>"+
        "<a href='http://localhost:8081/delUser/1'>删 + id,  默认1</a><br>"+
        "<a href='http://localhost:8081/1'>id查询 +id, 默认1</a><br>"+
        "<a href='http://localhost:8081/listUsers'>list查询</a><br>"
        );
});

// 新增
var user = {
   "user4" : {
      "name" : "mohit",
      "password" : "password4",
      "profession" : "teacher",
      "id": 4
   }
}
app.get('/addUser', function(req, res) {
    fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
        data = JSON.parse(data);
        data["user4"] = user["user4"];
        console.log( data );
        res.end( JSON.stringify(data) );
   });
});

// 删除
app.get('/delUser/:id', function (req, res) {
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       data = JSON.parse( data );
       delete data["user" + req.params.id];
       
       console.log( data );
       res.end( JSON.stringify(data));
   });
})
// 修改
var updateUser = {
   "user" : {
      "name" : "zhangsan",
      "password" : "mypassword",
      "profession" : "programer",
      "id": 0
   }
}
app.get('/update/:id', function (req, res) {
    fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
        data = JSON.parse( data );
        delete data["user" + req.params.id];
        data["user" + req.params.id] = updateUser["user"];
        console.log( data );
        res.end( JSON.stringify(data) );
   });
})

// 列表查询
app.get('/listUsers', function (req, res) {
    fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
        console.log( data );
        res.end( data );
   });
})

// id查询
// 模拟数据的id和user+id对应
app.get('/:id', function (req, res) {
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       data = JSON.parse( data );
       var user = data["user" + req.params.id] 
       console.log( user );
       res.end( JSON.stringify(user));
   });
})






var server = app.listen(8081, function () {
    
  console.log("访问地址: http://localhost:8081")

})

users.json

{
   "user1" : {
      "name" : "mahesh",
      "password" : "password1",
      "profession" : "teacher",
      "id": 1
   },
   "user2" : {
      "name" : "suresh",
      "password" : "password2",
      "profession" : "librarian",
      "id": 2
   },
   "user3" : {
      "name" : "ramesh",
      "password" : "password3",
      "profession" : "clerk",
      "id": 3
   }
}

mysql版

var express = require('express');
var fs = require("fs");
var mysql      = require('mysql');


var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  port: '3306',
  database : 'test'
});

var app = express();
connection.connect();

app.get("/", function(req, res){

    res.send("Hello , welcome to index!<br>"+
        "<a href='http://localhost:8081/addUser'>增</a><br>"+
        "<a href='http://localhost:8081/update/1'>改 +id,  默认1</a><br>"+
        "<a href='http://localhost:8081/delUser/1'>删 + id,  默认1</a><br>"+
        "<a href='http://localhost:8081/1'>id查询 +id, 默认1</a><br>"+
        "<a href='http://localhost:8081/listUsers'>list查询</a><br>"
        );
});

// 新增
app.get('/addUser', function(req, res) {

  var addSql = "INSERT INTO users(id,name,password,profession) VALUES(?,?,?,?)";
  var addSqlParams = [4, "赵六", "password4", "actor"];
  connection.query(addSql,addSqlParams,function (err, result) {
    if(err){
      return res.end('[SELECT ERROR] - '+err.message);
    }        
    if (result.affectedRows == 1) {
      res.send("添加成功!");
    }
  });

});

// 删除
app.get('/delUser/:id', function (req, res) {

  var delSql = 'DELETE FROM users where id='+req.params.id;
  connection.query(delSql,function (err, result) {
    if(err){
      console.log('[DELETE ERROR] - ',err.message);
      return;
    }        
    if (result.affectedRows == 1) {
      res.send("删除成功");
    }
  });

})


// 修改
app.get('/update/:id', function (req, res) {

  var modSql = 'UPDATE users SET name = ?,profession = ? WHERE id = ?';
  var modSqlParams = ['老贾', '摆小摊的',req.params.id];
  connection.query(modSql,modSqlParams,function (err, result) {
    if(err){
      return res.end('[SELECT ERROR] - '+err.message);
    }
    if (result.affectedRows == 1) {
      res.send("修改成功");
    }        

  });

})

// 列表查询
app.get('/listUsers', function (req, res) {

  var  sql = 'SELECT * FROM users';
  connection.query(sql,function (err, result) {
    if(err){
      return res.end('[SELECT ERROR] - '+err.message);
    }
    res.send( result );
  });


})


// id查询
// 模拟数据的id和user+id对应
app.get('/:id', function (req, res) {

  var sql = "SELECT * FROM users where id="+req.params.id;
  connection.query(sql,function (err, result) {
    if(err){
      return res.end('[SELECT ERROR] - '+err.message);
    }
    res.send( result );
  });

})






var server = app.listen(8081, function () {
    
  console.log("访问地址: http://localhost:8081")

})

users.sql

/*
 Navicat MySQL Data Transfer

 Source Server         : 127.0.0.1
 Source Server Version : 50621
 Source Host           : localhost
 Source Database       : TaoYuan

 Target Server Version : 50621
 File Encoding         : utf-8

 Date: 05/18/2016 11:44:07 AM
*/

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `users`
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT '' COMMENT '名字',
  `password` varchar(20) NOT NULL DEFAULT '' COMMENT '密码',
  `profession` varchar(20) NOT NULL DEFAULT '0' COMMENT '职业',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `users`
-- ----------------------------
BEGIN;
INSERT INTO `users` VALUES ('1', '张三', 'password1', 'teacher'), ('2', '李四', 'password2', 'programer'), ('3', '王五', 'password3', 'librarian');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容