使用express框架做一个简单的增删改查demo,先上效果图:

1.使用webstrom新建一个express项目,建好的项目文件是这样的:

2.直接上代码,方便学习db.js

/**
* Created by Administrator on 2017-02-14.
*/
// 连接MySql
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'root',
database: 'crud'
}); function query(sql,callback){
pool.getConnection(function(err, connection) {
// Use the connection
connection.query( sql, function(err, rows) {
// And done with the connection.
callback(err, rows);
connection.release(); //释放链接
});
});
} exports.query = query;

index.js:这里面写主要的逻辑代码。

var express = require('express');
var router = express.Router();
var db = require("./db.js"); /* 列表页. */
router.get('/', function (req, res, next) { db.query("select * from users", function (err, rows) {
if (err) {
res.render('index', {title: 'Express', users: []});
} else {
res.render('index', {title: 'Express', users: rows});
}
}); }); /**
*删除
*/
router.get("/del/:id", function (req, res) {
var id = req.params.id;
db.query("delete from users where id=" + id, function (err, rows) {
if (err) {
res.end("删除失败:" + err);
} else {
res.redirect("/"); //请求重定向
}
});
}); /**
* 修改页面跳转
*/
router.get("/toUpdate/:id", function (req, res) {
var id = req.params.id;
db.query("select * from users where id=" + id, function (err, rows) {
if (err) {
res.end("修改页面跳转失败:" + err);
} else {
res.render("update",{users:rows}); //直接跳转
}
});
}); /**
* 修改
*/
router.post("/update",function(req,res){
var id = req.body.id; //post、get请求区别
var name = req.body.name;
var age = req.body.age;
var sex = req.body.sex; db.query("update users set name='"+name+"',age="+age+",sex='"+sex+"' where id=" + id, function (err, rows) {
if (err) {
res.end("修改失败:" + err);
} else {
res.redirect("/"); //请求重定向
}
});
}); /**
* 新增页面跳转
*/
router.get("/toAdd", function (req,res) {
res.render("add");
}); /**
* 新增
*/
router.post("/add",function(req,res){
var name = req.body.name;
var age = req.body.age;
var sex = req.body.sex; db.query("insert into users(name,sex,age) values('"+name+"','"+sex+"',"+age+")", function (err, rows) {
if (err) {
res.end("新增失败:" + err);
} else {
res.redirect("/"); //请求重定向
}
});
}); /**
* 查询
*/
router.post("/search",function(req,res){
var name = req.body.s_name;
var sex = req.body.s_sex;
var age = req.body.s_age; var sql = "select * from users";
if(name){
sql += " and name like "+"'"+"%"+name+"%"+"'";
}
if(sex){
sql += " and sex='"+sex+"' ";
}
if(age){
sql += " and age='"+age+"' ";
}
sql = sql.replace(/and/,"where"); db.query(sql, function (err, rows) {
if (err) {
res.end("查询失败:" + err);
} else {
res.render('index', {title: 'Express', users: rows,s_name:name,s_sex:sex,s_age:age});
}
});
});
module.exports = router;

完整代码请点这里哦:http://files.cnblogs.com/files/zhengyeye/crud_express_perfect.zip

express——crud的更多相关文章

  1. Nodejs之路(三)—— Nodejs之Express框架

    Express 原生的 http 在某些方面表现不足以应对我们的开发需求,所以我们需要使用框架来加快我们的开发效率.框架的目的就是提高效率,让我们的代码更高度统一 在Node 中,有很多 Web 开发 ...

  2. 【原】无脑操作:express + MySQL 实现CRUD

    基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...

  3. 【nodejs】用express又做了份crud

    感觉crud是高级形式的hello world了. app代码: 'use strict'; var express=require('express'); var http=require('htt ...

  4. express+jade+bootstrap+mongdb simple CRUD test

    1:当前环境 y@y:~$ node --version && express -V && mongo --version v0.12.2 MongoDB shell ...

  5. Web API 之CRUD

    注:例子来自微软Web API官网(https://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part ...

  6. Oracle Database 11g Express Editon介绍及安装

    一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...

  7. nodejs+express+mysql 增删改查

    之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...

  8. 使用 Express 和 waterline 创建简单 Restful API

    这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000004996659  突然想起来我这个博客冷落了好多年了,也该更新一下, ...

  9. CRUD Operations in MVC4 Using AngularJS and WCF REST Services

    Now in this article I will show how to do Create, Retrieve, Update and Delete (CRUD) operations in M ...

随机推荐

  1. ibtais中把clob数据类型转换成string并展示到前台

    1,在xml中定义一个resultMap <resultMap class="com.aa.bb" id="clobToString"> <r ...

  2. 基于jQuery左右滑动切换图片代码

    分享一款基于jQuery左右滑动切换图片代码.这是一款基于jQuery实现的左右滑动切换焦点图代码.效果图如下: 在线预览   源码下载 实现的代码: <div class="v_ou ...

  3. Intellij idea上传项目到github

    操作前提 1.安装了 git for windows客户端 2.配置了rsa公钥 3.设置了邮箱和用户名 详情请看上一篇博客http://www.cnblogs.com/520playboy/p/66 ...

  4. 路径重写,适用于laravel,yii

    <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule& ...

  5. u-boot 2016.05 添加u-boot cmd

    记录一下如何在u-boot 添加一个自己想要的命令. 首先来看一下宏,include/command.h 218 #define U_BOOT_CMD(_name, _maxargs, _rep, _ ...

  6. spring4和hibernate4整合的步骤

    基本的整合步骤如下: 由于在spring中可以直接实现自动装配bean对象,所以可以直接将hibernate中的配置属性移植过来: 1. 装配dataSource对象 <!-- 配置数据源 -- ...

  7. git过期处理

    删除git下的文件:C:\Users\Java\AppData\Roaming\syntevo\......\7\settings.xml删除settings.xml文件即可

  8. C++实现 逆波兰表达式计算问题

    C++实现 逆波兰表达式计算问题 #include <iostream> #include <string> using namespace std; class Stack ...

  9. svn删除项目目录

    cmd svn delete -m "质控" svn://192.168.0.253/repos1/质控

  10. 使用JPedal取代PDFBox

    http://wanggp.iteye.com/blog/1144177 ———————————————————————————————————————————————— 之前都是使用PDFBOX0. ...