自封装node 的简单增删改查
1 首先引入的上篇node 链接mysql 里面的js
var connect = require('./nodemysql.js');
2 定义常量
const customerSQL = {
queryAll: function(dbname, callback, obj) { //obj查找的条件 若没有全部返回
var where = ''
if (obj == undefined) {
where = ''
} else {
var s = ' WHERE '
for (var i in obj) {
s += i + '="' + obj[i] + '" and '
}
where = s.substring(0, s.lastIndexOf(' and'))
}
var sql = 'SELECT * FROM ' + dbname + where;
console.log(sql)
connect.query(sql, function(err, result) {
if (err) {
console.log('[SELECT ERROR] - ', err.message);
callback({ code: 0, mes: err.message })
return;
}
callback({ code: 1, res: result })
return;
})
// console.log(result);
},
insert: function(dbname, callback, obj) { //obj插入的数据
var sql = 'insert into ' + dbname + ' set ?'
console.log(sql)
connect.query(sql, obj, function(err, result) {
if (err) {
console.log('[insert ERROR] - ', err.message);
callback({ code: 0, mes: err.message })
return;
}
callback({ code: 1, res: result })
// {
// "code": 1,
// "res": {
// "fieldCount": 0,
// "affectedRows": 1,
// "insertId": 16,//插入行的id
// "serverStatus": 2,
// "warningCount": 0,
// "message": "",
// "protocol41": true,
// "changedRows": 0
// }
// }
return;
})
},
update: function(dbname, callback, arr) { //[{},{}] 第一个obj是要改的数据 第二个obj是查询条件
var where = ''
var obj = arr[1]
if (obj == undefined) {
callback({ code: 0, mes: 'no key' });
return;
} else {
var s = ' where '
for (var i in obj) {
s += i + '="' + obj[i] + '" and '
}
where = s.substring(0, s.lastIndexOf(' and'));
}
var sql = 'update ' + dbname + ' set ?' + where;
connect.query(sql, arr[0], function(err, result) {
if (err) {
console.log('[update ERROR] - ', err.message);
callback({ code: 0, mes: err.message })
return;
}
callback({ code: 1, res: result });
// {
// "code": 1,
// "res": {
// "fieldCount": 0,
// "affectedRows": 1,
// "insertId": 0,
// "serverStatus": 34,
// "warningCount": 0,
// "message": "(Rows matched: 1 Changed: 1 Warnings: 0",
// "protocol41": true,
// "changedRows": 1 //被改变的行数
// }
// }
return;
})
},
delete: function(dbname, callback, obj) {
var where = ''
if (obj == undefined) {
callback({ code: 0, mes: 'no key' });
return;
} else {
var s = ' WHERE '
for (var i in obj) {
s += i + '="' + obj[i] + '" and '
}
where = s.substring(0, s.lastIndexOf(' and'))
}
var sql = 'delete from ' + dbname + where;
connect.query(sql, function(err, result) {
if (err) {
console.log('[delete ERROR] - ', err.message);
callback({ code: 0, mes: err.message })
return;
}
callback({ code: 1, res: result });
// {
// "code": 1,
// "res": {
// "fieldCount": 0,
// "affectedRows": 1,//受影响的行数
// "insertId": 0,
// "serverStatus": 2,
// "warningCount": 0,
// "message": "",
// "protocol41": true,
// "changedRows": 0
// }
// }
return;
})
// console.log(result);
},
};
3 、输出常量和connet
module.exports = { customerSQL, connect };
4、 使用
查询:
var { customerSQL, connect } = require('./customersql.js');
app.get('/bayid', function(req, res) {
var i = req.query.id ? { id: req.query.id } : undefined
var show = function(result) {
res.send(result);
}
customerSQL.queryAll('fruit', show, i)
});
修改:
router.post('/setname', function(req, res, next) {
var ss = req.body.name
if (ss == undefined) {
res.json({
code: 0,
message: '修改错误,没有key'
})
return
};
var nickname = {
name: ss
};
var show = function(result) {
console.log(result)
var r = {}
if (result.code == 0) {
res.json({
code: 0,
message: '修改失败'
})
} else {
res.json({
code: 1,
message: '修改成功'
})
}
};
customerSQL.update('user', show, [nickname, { id: 69 }])
});
自封装node 的简单增删改查的更多相关文章
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- node 后台使用增删改查(4)
无论node还是java增删改查都是一样的原理,变得是配合框架使用时候有简便方法而已. 这里我接着上一篇开始讲,使用同一个数据库(数据库创建)这里必须创建了数据库 优化:为了维护方便这里我们把sql语 ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- 04-springboot整合elasticsearch初识-简单增删改查及复杂排序,分页,聚合操作
前面大概了解了一下elasticsearch的数据存储和数据的查询.现在学习一下,es的复杂操作. 官网相关文档地址:https://www.elastic.co/guide/en/e ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
- Android_ADB 常用 shell命令 和 sqlite3 简单增删改查
今天学习了一个ADB的常用命令.接下来简单使用几个常用ADB shell 命令. 首先我们得明白什么是adb.exe ADB -Android Debug Bridge, 是 Android sdk ...
- MyBatis之二:简单增删改查
这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...
随机推荐
- 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调
[源码下载] 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调 作者: ...
- VMware Tools安装教程
安装依赖: sudo yum install eject 步骤: 确保 Linux 虚拟机已打开电源. 如果正在运行 GUI 界面,请打开命令 shell. 注意:以 root 用户身份登录,或使用 ...
- 微信小程序基础
前言 什么是微信小程序,它是一种轻量级的APP,它与常规App来说,无需下载安装即可使用,它嵌于微信App中,要使用微信小程序你只需要搜索一下微信小程序的名称就好,如近期的"Google的画 ...
- Java学习笔记41(Properties类)
Properties可以做到集合的数据持久存储 它是map接口的一个实现类,可以使用map类的方法, 不过存在区别:它没有泛型,规定键类型为字符串 这个集合在以后的开发中会经常用到,比如连接数据库等 ...
- iOS开发总结——项目目录结构
1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...
- druid的关键参数+数据库连接池运行原理
minEvictableIdleTimeMillis :连接保持空闲而不被驱逐的最长存活时间.(默认30分钟) Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvi ...
- [EXP]Microsoft Windows 10 - XmlDocument Insecure Sharing Privilege Escalation
Windows: XmlDocument Insecure Sharing Elevation of Privilege Platform: Windows (almost certainly ear ...
- web自动化测试(java)---环境搭建
java的测试环境搭建相较于python还简单些,只要把相关的jar包导入即可了 1.安装java 从官网下载最新的java安装程序,双击安装(java1.8) 2.下载java版的selenium的 ...
- pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'
pip升级到 10.0.1 之后 老版的pycharm 使用pip安装第三方库的时候会报错,报错如上图所示: 其主要原因是 新版的 pip 更改了 部分api 将其中 pip.main() 改为 pi ...
- myeclipse 添加mybatis generator插件
在红色的方框中输入下面的网址,一直下一步,最后finish即可. https://dl.bintray.com/mybatis/mybatis-generator/