1.首先 在电脑上安装 nodejs (此处略过)

2.全局安装 koa2 (这里使用的淘宝镜像cnpm,有兴趣的同学可以自行搜索下)

cnpm install koa-generator -g

3.创建项目

koa2 code(code 是项目名)

4.(cd code) 然后 安装依赖

cnpm install

5.(cd code  进入code目录 ) 然后 启动项目

cnpm start code   该操作修改代码后,需重启生效

cnpm run dev       该操作修改代码后,刷新浏览器生效

6. node 连接数据库

cnpm install mysql --save

7.1 开始增删改查     目录结构

db.js  是数据库的配置
代码如下: //数据库配置文件
const MYSQL_CONFIG = {
host : '你的数据库地址', // 可以是本地地址,也可以设置成远程地址
user : '你的数据库账户', // 我这边是mysql,一般都是root
password : '你的数据库密码',
database : '你连接的数据库名'
};
module.exports = MYSQL_CONFIG;
dbSQL.js  里面是sql语句
代码如下: const QUERY_SQL = `select * from t_user`;
const INSERT_SQL = `INSERT INTO t_user SET ?`;
const UPDATE_SQL = `UPDATE t_user SET username=? WHERE id=?`;
const DELETE_SQL = `DELETE FROM t_user WHERE id=?`; module.exports = { QUERY_SQL, INSERT_SQL, UPDATE_SQL, DELETE_SQL };
dbPool.js  里面是创建连接池,并编写查询方法
代码如下: const mysql = require('mysql')
const MYSQL_CONFIG = require('./db'); let pools = {}; // 创建连接池
//判断是否存在连接池不用每次都创建
if (!pools.hasOwnProperty('data')) {
pools['data'] = mysql.createPool(MYSQL_CONFIG);
} // 查询
// sql 是sql语句
// values 是sql语句中的具体值
// sql values 可查看官方文档 https://github.com/mysqljs/mysql#performing-queries
const query = (sql, values) => {
return new Promise((resolve, reject) => {
//初始化连接池
pools['data'].getConnection((err, connection) => {
if (err) {
console.log(err,'数据库连接失败');
}
else{
console.log('数据库连接成功');
//操作数据库
connection.query(sql, values, (err, results) => {
if (err) {
reject(err);
} else {
connection.release();
resolve({
status: 200,
results
});
}
});
}
})
});
} module.exports = { query };
dataOperation.js   是数据库的增删改查操作,目前是放在router里面的,最好是分离出来,方便维护
代码如下: const router = require('koa-router')()
const { query } = require('./../config/dbPool');
const { QUERY_SQL, INSERT_SQL, UPDATE_SQL, DELETE_SQL } = require('./../config/dbSQL'); //查询
// 测试时可简单创建 string: name, number: id, 自增主键id
router.get('/search', async ctx => {
const data = await query(QUERY_SQL);
ctx.body = {
data,
};
}); // 插入
router.post('/save', async ctx => {
const res = ctx.request.body;
const { username = '', realname = '', password = '' } = res;
if(username && realname) {
const queryData = {
username,
realname,
password,
};
const data = await query(INSERT_SQL, queryData);
if(data && data.status && data.status === 200) {
ctx.body = {
status: 200,
msg: "操作成功",
};
} else {
ctx.body = data;
}
}
}); //更新
router.post('/update', async ctx => {
const res = ctx.request.body;
const { username = '', id= 1 } = res;
if(username && id) {
const queryData = [username, id];
const data = await query(UPDATE_SQL, queryData);
if(data && data.status && data.status === 200) {
ctx.body = {
status: 200,
msg: "操作成功",
};
} else {
ctx.body = data;
}
}
}); //根据主键id 删除
router.del('/delete', async ctx => {
const res = ctx.request.body;
const { id } = res;
if(id) {
const queryData = [id];
const data = await query(DELETE_SQL, queryData);
if(data && data.status && data.status === 200) {
ctx.body = {
status: 200,
msg: "操作成功",
};
} else {
ctx.body = data;
}
}
}); module.exports = router;

接下来是测试接口  这里使用的是postman

查询

新增

修改

删除

接口制作完成 之后 ,要部署到腾讯云服务器 可以参考我这篇文章:

把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器

简单实现 nodejs koa2 mysql 增删改查 制作接口的更多相关文章

  1. nodejs+express+mysql 增删改查

    之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...

  2. nodejs+express+mysql 增删改查(二)

    1.最早一篇关于express框架简单的增删改查文章,http://www.cnblogs.com/zhengyeye/p/nodejs.html#3947308:意外走红博客园,无奈自己之前一直没有 ...

  3. Nodejs操作MySQL - 增删改查

    先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...

  4. 最简单的jsp+servlet的增删改查代码

    package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  5. MySQL—增删改查,分组,连表,limit,union,alter,排序,去重

    MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...

  6. PHP MySql增删改查

    mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?p ...

  7. mysql增删改查练习

    Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create dat ...

  8. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  9. Django学习之mysql增删改查

    上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里.我们通 ...

随机推荐

  1. 在SublimeText3中搭建Verilog开发环境记录(二)

    接上文 SublimeText3中搭建Verilog开发环境记录(一) 在实现了基础功能后,继续添加插件,让功能更为完善: 快速创建代码模块(snippet) Ctrl+鼠标左键实现模块跳转 通过iV ...

  2. groff编写man页

    groff 是大多数 Unix 系统上所提供的流行的文本格式化工具 nroff/troff 的 GNU 版本.它一般用于编写手册页,即命令.编程接口等的在线文档.在本文中,我们将给你展示如何使用 gr ...

  3. 【洛谷1339 [USACO09OCT]】热浪Heat Wave 图论+最短路

    AC代码 #include<bits/stdc++.h> using namespace std; const int MAXN=62000+10,INF=999999; struct E ...

  4. mysql常用sql语法

    一.创建主键的三种方式 1. CREATE TABLE user( uid INT PRIMARY KEY, uname VARCHAR(10), address VARCHAR(20) ) 2. C ...

  5. java 向Redis中存放数据 List<Device>转String

    /** * redis服务 */ @Autowired private RedisService redisService; //创建 Device  对象 Device no = new Devic ...

  6. ODOO14 ---系统启动方式

    一.通过pycharm启动 1.配置启动面板: 点击启动即可: 第二种.通过CMD窗口启动:进入到odoo-bin的目录下,执行:python E:\odoo14\odoo14\odoo-bin  这 ...

  7. odoo12里面的RPC【远程过程调用】

    odoo的RPC有两种:RPC API:1.xml-rpc                                                      2.json-rpc 案例   x ...

  8. 离线安装rpm包并解决依赖(升级vsftpd为例)

    背景  实际开发中,我们的linux服务器是处理离线状态的,并不能访问互联网.如果此时要在linux上安装或者升级软件,就只能通过rpm包的安装方式.rpm包安装有一个缺陷,就是不能处理安装包的依赖问 ...

  9. Linux下如何查看定位当前正在运行软件的配置文件

    netstat命令 用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 netstat -lntup 说明: l:listening n:num t:tc ...

  10. 大数据学习(14)—— HBase进阶

    HBase读写流程 在网上找了一张图,这个画的比较简单,就拿这个图来说吧. 写流程 1.当Client发起一个Put请求时,首先访问Zookeeper获取hbase:meta表. 2.从hbase:m ...