无论node还是java增删改查都是一样的原理,变得是配合框架使用时候有简便方法而已。

这里我接着上一篇开始讲,使用同一个数据库(数据库创建)这里必须创建了数据库

  优化:为了维护方便这里我们把sql语句提出来放在一个对象里面,只有要改变的参数放在请求接口的router里面

  首先在routes文件夹里面创建userSql.js,在里面创建一个对象,再导出

var SQL = {
inset:{// 增
actorIn:'INSERT INTO company(first_name,last_name) VALUES(?,?)' // company是数据库的表名 first_name,last_name是其中的两个字段名,id一般设为自增
},
delete:{// 删
actorDel:'DELETE FROM company where id = ?' // 一般唯一标识是id并且自增
},
change:{// 改
actorCh:'UPDATE company SET first_name=?,last_name=? WHERE id=?' //修改唯一标识id为几的first_name和last_name值
},
check:{// 查
actorCk:'SELECT * FROM company', //查询所有使用*,company是表名
actorId:'SELECT * FROM company WHERE id=?', //查询唯一标识id=x的所有字段
actorAll:'SELECT first_name FROM company', //查询company表里面的所有first_name字段
actorId:'SELECT first_name FROM company WHERE id=?' //查询唯一标识id=x的所有first_name字段
}
}
module.exports = SQL;

 然后我们在user.js里面导入

var userSql = require('./userSql.js')

   

一、增

  在user.js里面我们创建一个添加的router。

router.post('/add', function(req, res, next) {
var addValue = ['kk','MM']//参数是对应first_name,last_name的值,前端调用接口post方法是使用req.body.xx获取的参数
  // query()第一个是语句,第二个是参数
mysql.query(userSql.inset.actorIn,addValue, function (error, results) { // 增
if (error) throw error;
res.json({
code:0,
data:'成功'
})
});
mysql.end();//关闭mysql连接 上篇文章中把mysql连接提取出来了,这里就没写
});

 二、删

  在user.js里面我们创建一个删除的router

router.post('/del', function(req, res, next) {
var delValue = 4 // 这里是删除的行唯一标识,一般是id,这里改为了actor_id
mysql.query(userSql.delete.actorDel,delValue, function (error, results) { // 删
if (error) throw error;
res.json({
code:0,
data:'成功'
})
});
mysql.end();
});

三、改

   在user.js里面我们创建一个修改的router

router.post('/change', function(req, res, next) {
var addValue = ['aa','22',3] // 前两个对应first_name,last_name,actor_id=3
mysql.query(userSql.change.actorCh,addValue, function (error, results) { // 改
if (error) throw error;
res.json({
code:0,
data:'成功'
})
});
mysql.end();
});

四、查

在user.js里面我们创建一个查询的router

router.get('/check', function(req, res, next) {
//查询一般使用get方法,获取前端传来参数使用req.query.xx
mysql.query(userSql.check.actorCk,1, function (error, results, fields) { // 查
if (error) throw error;
res.json({
code:0,
data:results
})
});
mysql.end();
});

node 后台使用增删改查(4)的更多相关文章

  1. 自封装node 的简单增删改查

    1 首先引入的上篇node 链接mysql 里面的js var connect = require('./nodemysql.js'); 2 定义常量 const customerSQL = { qu ...

  2. Flask项目实战:创建电影网站(3)后台的增删改查

    添加预告 根据需求数据库创建表格 需求数据库,关键字title logo # 上映预告 class Preview(db.Model): __tablename__ = "preview&q ...

  3. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

  4. koa+mysql实现增删改查-全栈之路(001)

    Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...

  5. 可编辑树Ztree的使用(包括对后台数据库的增删改查)

    找了很多网上关于Ztree的例子和代码才搞定. 首先,关于Ztree的代码不介绍了,网上下载之后,引用下列四个文件就能使用了. 1.关于配置选项.主要通过回调函数来实现向后台发送数据,实现增删改查. ...

  6. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  7. nodejs+easyui(抽奖活动后台)增删改查

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAAJACAIAAAD97KNZAAAgAElEQVR4nO2daXxb5Z2o7w+dO1/ufL ...

  8. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  9. Node+Express+node-mysql 实战于演习 全套mysql(增删改查)

    最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...

随机推荐

  1. java 实现基于opencv全景图合成

    因项目需要,自己做了demo,从中学习很多,所以分享出来,希望有这方面需求的少走一些弯路,opencv怎么安装网上教程多多,这里不加详细说明,我安装的opencv-3.3.0 如上图所示,找到相应的j ...

  2. GO基础之闭包

    一.闭包的理解 闭包是匿名函数与匿名函数所引用环境的组合.匿名函数有动态创建的特性,该特性使得匿名函数不用通过参数传递的方式,就可以直接引用外部的变量. 这就类似于常规函数直接使用全局变量一样,个人理 ...

  3. day10整理(面对对象,过程,类和对象)

    目录 一 回顾 (一)定义函数 (二)定义函数的三种形式 1.空函数 2.有参函数 3.无参函数 (三)函数的返回值 (四)函数的参数 1.形参 2.实参 二 面向过程编程 三 面向对象过程 四 类和 ...

  4. 数据结构(四十)平衡二叉树(AVL树)

    一.平衡二叉树的定义 平衡二叉树(Self-Balancing Binary Search Tree或Height-Balanced Binary Search Tree),是一种二叉排序树,其中每一 ...

  5. CSS盒子模型+box-sizing

    当对文档进行布局时,浏览器渲染引擎会根据css-Box模型(CSS Basic Box model)将所有元素表示为一个矩形盒子.CSS决定这些盒子的大小,位置以及属性(颜色,背景,边框尺寸) 标准盒 ...

  6. 我是如何在一周内拿到4份offer的?

    前言 大概一个月没写博客了吧,这段时间事情比较多(家里有事,请了一段时间假,正好利用剩余几天时间面了几次试),也没抽出来时间写博客,还好所有的事情已经处理完了,今天闲来无事就整理一下这几次面试过程中遇 ...

  7. Java 发展历程

    JDK 1.0 1991年4月,由 James Gosling 博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒.冰箱.收音机等)上运 ...

  8. CMMS系统中的物联监测

    有条件的设备物联后,可时实查看设备运行状态,如发现异常,可提前干预.

  9. for循环使用笔记

    1.for i in rang(1,101,2) #2为步长 print("loop",i) 2.flag 标志位3.for 循环CODE1 for与else一起用:当for循环正 ...

  10. 介绍几个常用的makefile函数

    addprefix. $(addprefix <prefix>, <name1 name2 ...>) 功能:把<prefix>加到name序列中的每一个元素前面. ...