express——crud
使用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的更多相关文章
- Nodejs之路(三)—— Nodejs之Express框架
Express 原生的 http 在某些方面表现不足以应对我们的开发需求,所以我们需要使用框架来加快我们的开发效率.框架的目的就是提高效率,让我们的代码更高度统一 在Node 中,有很多 Web 开发 ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- 【nodejs】用express又做了份crud
感觉crud是高级形式的hello world了. app代码: 'use strict'; var express=require('express'); var http=require('htt ...
- express+jade+bootstrap+mongdb simple CRUD test
1:当前环境 y@y:~$ node --version && express -V && mongo --version v0.12.2 MongoDB shell ...
- Web API 之CRUD
注:例子来自微软Web API官网(https://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part ...
- Oracle Database 11g Express Editon介绍及安装
一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...
- nodejs+express+mysql 增删改查
之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...
- 使用 Express 和 waterline 创建简单 Restful API
这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000004996659 突然想起来我这个博客冷落了好多年了,也该更新一下, ...
- 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 ...
随机推荐
- 基于HTML5/CSS3图片网格动画特效
现在HTML5技术可以让网页上的图片变得非常神奇,各种各样的HTML5图片动画特效让你眼花缭乱.今天要分享的这款HTML5图片网格动画特效就非常炫酷.图片缩略图按网格的布局一行行排列,你只需点击按钮即 ...
- Winform快速导出
public static void ExportExcel(DataGridView DataGridView01){ Stream stream = null; StreamWriter writ ...
- CentOS 7 系统下安装gnome图形界面
在安装Gnome 包之前,我们需要先检查下安装源是否正常,因为我们要通过yum命令来安装gnome包, 而yum命令式通过yum 源来下载安装包的. 1.在命令行下输入下面的命令来安装 Gnome 包 ...
- Apache HttpComponents 获取Cookie
package org.apache.http.examples.client; import java.util.List; import org.apache.http.HttpEntity; i ...
- JVM监控添加参数
-Dcom.sun.management.jmxremote.port 远程主机端口号的-Dcom.sun.management.jmxremote ...
- HTTP小结
http 一.HTTP协议简介 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交 ...
- Logrotate日志轮巡missingok: 在日志轮循期间,任何错误将被忽略
Linux日志文件总管——logrotate 编译自:http://xmodulo.com/2014/09/logrotate-manage-log-files-linux.html ...
- WPF教程一:基础
一.WPF简介WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NE ...
- Jquery判断某字符串中是否包含某个字符
if(!(to_city_value.indexOf("(")>0){ //code..... }
- dvi 中的内容居中
text-align:right; 文本居中 line-height:35px;*垂直居中*