nodejs CURD(增删改查)get和post方法
来源:互联网 发布:seo网站推广招聘 编辑:程序博客网 时间:2024/06/07 00:00
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 关于如何更改模版引擎
1 0
- nodejs CURD(增删改查)get和post方法
- CURD增删改查
- hibernate基本概念和CURD(增删改查)详解
- Hibernate概念深入和CURD(增删改查)
- Hibernate---curd(增删查改)操作
- 2、Mybatis增删改查(CURD)
- YII2 CURD 增删改查
- Yii 增删改查(CURD)
- CURD-增删查改操作
- (9) ebj学习: Jpa的增删查改,CURD方法监听和命名查询
- laravel (5.2) curd (增删改查)
- MyBatis实现单表增删改查(CURD)--新增
- MyBatis实现单表增删改查(CURD)--删除
- MyBatis实现单表增删改查(CURD)--修改
- ThinkPHP实例教程--CURD (增删改查)
- Hibernate实现增删查改CURD例子
- 增删改查CURD(数据库助手)
- NODEJS mongoose 增删改查
- Aizu0189 多源最短路
- Struts2的属性驱动与模型驱动的区别
- 巧妙使用git stash使git操作更加灵活
- Ubuntu14.04 安装Android 编译环境之 环境变量设置1---学习笔记
- 第一章 Ubuntu Qt5.7.0连接MYSQL
- nodejs CURD(增删改查)get和post方法
- spring教程--事务管理
- 移动端横竖屏问题--兼容iPhone、Android
- 基于51单片机的LCD1602液晶驱动实现
- Google Test测试框架自带Sample案例注释翻译
- 数据结构(三):循环单链表解决约瑟夫问题
- cookie的详情
- Learning Spark——使用Intellij Idea开发基于Maven的Spark程序
- 如何避免SSH Secure Shell Client连接Linux超时,自动断开?