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 ...
随机推荐
- OCILIB开源的C/C++ Oracle驱动
OCILIB是一个开源的.跨平台的Oracle驱动,可以高效的操作Oracle数据库. OCILIB库: - 提供丰富的.全特性的.容易使用的API - 运行在所有的Oracle平台 - 使用标准的I ...
- Unity又称Unity Application Block
本文关注以下方面(环境为VS2012..Net Framework 4.5以及Unity 3): Ioc/DI简介: Unity简单示例 一.Ioc/DI简介 IoC 即 Inversion of C ...
- vim 移植记录
下载两个源码包: vim : ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\ ncurses-5.8.tar.gz http://ftp.gnu.org ...
- DRAM 各项基本参数记录
记录一下DRAM的各项基本参数 tCL CAS Latency CAS 潜伏期, 列地址寻找/读写命令执行完毕,准备要读出来,需要一个延时缓一缓 tRAS: RAS Active Timeing 行有 ...
- JavaScript(二):JavaScript语法及数据类型
一.JavaScript语法 1.区分大小写ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量.2.标识符所谓标识符,就是指变量.函数. ...
- HTML(一):HTML基本元素标签
一.什么是HTML HTML(Hypertext Markup Language):即超文本标记语言,是一种用来设计网页的标记语言,用该语言编写的文件,以.html或.htm为后缀,并且由浏览器解释执 ...
- Message Code 【27796】 Failed to connect to server 'hostname';port_ld': 'reason'.
Message Code [27796] Failed to connect to server 'hostname';port_ld': 'reason'.Unable to connect to ...
- Linux Tcl和Expect的安装
一.先安装Tcl 1.下载:tcl版本 8.4.19 http://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz ...
- 释放Ubuntu/Linux系统cache,增加可用内存空间
某台式机Ubuntu内存共3G,但free的内存只有200M,无法满足scala的jvm需求. 注意用top命令查看才能看到真正的free内存.下面是查看真正内存使用量的另一种命令. watch -n ...
- 关于Cocos2d-x中父子节点的互动
1.子节点可以通过this->getParent()来获得相应的父节点,并且进行强制类型转换. ((Scene*)this->getParent())->getPhysicsWorl ...