无论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. vue移动端 实现手机左右滑动入场动画

    app.vue <template> <div id="app"> <transition :name="transitionName&qu ...

  2. typescript 入门教程二

    ts中面向对象成员修饰符:public , private , protexted(ts官方网站:ts) 在ts中,默认的成员修饰符就是public public:是表示是公开的,在任何地方,都可以调 ...

  3. node项目发布+域名及其二级域名配置+nginx反向代理+pm2

    学习node的时候也写了一些demo.但是只是限于本地测试,从来没有发布.今天尝试发布项目. 需要准备的东西 node 项目:为了突出重点,说明主要问题.我只是拿express 写了很简单的demo. ...

  4. 一起来刷《剑指Offer》——不修改数组找出重复的数字(思路及Python实现)

    数组中重复的数字 在上一篇博客中<剑指Offer>-- 题目一:找出数组中重复的数字(Python多种方法实现)中,其实能发现这类题目的关键就是一边遍历数组一边查满足条件的元素. 然后我们 ...

  5. 设计模式C++描述----01.单例(Singleton)模式

    一.概念 单例模式:其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享. class CSingleton { //公有的静态方法,来获取该实例 public: s ...

  6. python3 range 倒序

    话不多说上代码,要求简单,从100到1遍历操作. //第三个参数表示的是100所有进行的操作,每次加上-1,直到0 for i in range(100,0,-1): print(i)

  7. wfi破解

    破解wifi步骤 1.准备字典(常见字典 数字组合.常用姓氏.汉字姓名+年份组合等等) 2.无线网卡 3.查看附近WiFi信息 前言 : 随着无线网络走进我们的生活,在方便了我们的同时又产生了许多的安 ...

  8. Mybatis:配置解析

    配置解析  mybatis-config.xml(Mybatis核心配置文件)深深影响了Mybatis行为的设置和属性信息. 能配置的的内容 当然,并不是所有都是我们经常使用到的,下面选择经常使用的配 ...

  9. 网站安全配置Nginx防止网站被攻击

    https://blog.csdn.net/u011078940/article/details/51426288

  10. IoTClient开发4 - ModBusTcp协议服务端模拟

    前言 上篇我们实现了ModBusTcp协议的客户端读写,可是在很多时候编写业务代码之前是没有现场环境的.总不能在客户现场去写代码,或是蒙着眼睛写然后求神拜佛不出错,又或是在办公室部署一套硬件环境.怎么 ...