基于koa2操作mysql封装例子
新建better-mysql.js
const mysql = require('mysql');
const config = require('../config/sqlConfig.js')
let pool = mysql.createPool({
user:config.mysql_user,
password:config.mysql_password,
database:config.mysql_database,
host:config.mysql_host,
port:config.port
})
let query = ( sql, values ) => {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
reject( err )
} else {
connection.query(sql, values, ( err, fields) => {
if ( err ) reject( err )
else resolve( fields )
connection.release();
})
}
})
})
}
let createTable = ( sql ) => {
return query( sql ,[])
}
let tb_users =
`create table if not exists tb_users(
user_id VARCHAR(32) NOT NULL COMMENT '用户ID',
username VARCHAR(100) NOT NULL COMMENT '用户名',
password VARCHAR(100) NOT NULL COMMENT '密码',
avator VARCHAR(100) NOT NULL COMMENT '头像',
create_time VARCHAR(100) NOT NULL COMMENT '注册时间',
login_status VARCHAR(100) NOT NULL COMMENT '登录状态',
user_rule VARCHAR(100) NOT NULL COMMENT '用户角色',
PRIMARY KEY ( user_id )
);`
// 建用户表
createTable(tb_users)
module.exports = {query}
调用方法演示,新建index.js文件
const Router = require("koa-router");
const { query } = require("./better-mysql.js");
const moment = require('moment');
let router = new Router({ prefix:"/user"})
let userModel = {
insertUser(value)=>{
let _sql = "insert into tb_users set user_id=?, username=?,password=?,avator=?,create_time=?,login_status=?,user_rule=?;"
return query( _sql, value)
}
}
// 注册
router.post('/registor',async (ctx)=>{
let username = "amisu10";
let password = '1'
password = common.md5(password);
let user_id = common.uuid() ;
let create_time = moment().format('YYYY-MM-DD HH:mm:ss');
let avator = "头像";
let login_status = "0";
let user_rule = "1";
await userModel.insertUser([user_id,username,password,avator,create_time,login_status,user_rule]).then(res => {
console.log('注册成功',res);
ctx.body = {
code:0,
count:count,
message:'注册成功'
}
})
}
})
基于koa2操作mysql封装例子的更多相关文章
- 基础类封装-pymysql库操作mysql封装
import pymysql from lib.logger import logger from warnings import filterwarnings filterwarnings(&quo ...
- python操作mysql封装成类
import pymysqlimport loggingimport sys # 加入日志#获取logger实例logger = logging.getLogger("baseSpider& ...
- Python使用DB-API操作MySQL数据库
Python提供了一个标准数据库API,称为DB-API,用于处理基于SQL的数据库.与任何底层数据库的交互都可以使用DB-API,因为DB-API在代码与驱动程序之间提供了一个抽象层,可以根据需要替 ...
- Python3操作MySQL基于PyMySQL封装的类
Python3操作MySQL基于PyMySQL封装的类 在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...
- LightMysql:为方便操作MySQL而封装的Python类
原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...
- Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...
- 封装操作mysql、redis
封装操作mysql: import pymysql class MyDb: def __init__(self,host,password,user,db,port=3306,charset='utf ...
- jdbc操作mysql(三):利用注解封装
案例五:利用注解封装 重复步骤 我们使用jdbc操作mysql时发现,操作不同表中数据,所写的方法基本相同:比如我们根据id向用户表添加数据,根据id删除商品表的数据,或者查询所有数据并用list集合 ...
- 基于MySQL的-u选项实现如何最大程度防止人为误操作MySQL数据库
在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,MySQL程序就会拒绝执行.那么,我们基于MySQL提供的这项设置,就可以轻松实现如何最大程度防止 ...
随机推荐
- VS2017 打包成exe
在项目的解决方案 右键→ 新建项目 后出现如下选择 (如果没有找到,请在联机中搜索 visual studio installer 并安装) 选择项目类型 Setup Project,并输入名称, ...
- 在IDEA中实战Git 合并&提交&切换&创建分支
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第八章:光照
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第八章:光照 代码工程地址: https://github.com/j ...
- python 源文件编码
- HZOJ 导弹袭击
比较显然的一个性质是如果存在$a(i)>=a(j) \& \& b(i)>=b(j)$那么j没用. 我们并不需要A,B的具体取值,我们之关心$\frac {A}{B}$. ...
- AtCoder Beginner Contest 075 C bridge【图论求桥】
AtCoder Beginner Contest 075 C bridge 桥就是指图中这样的边,删除它以后整个图不连通.本题就是求桥个数的裸题. dfn[u]指在dfs中搜索到u节点的次序值,low ...
- pycharm 快捷键使用
1.Ctrl+/?键 = 选中行全部注释/解封: 2.Ctrl+D = 复制前一行: 3.Ctrl+Z = 撤销: 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性 ...
- Flask学习之十三 日期和时间
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xiii-dates-and-times 中文翻译地址: ...
- Flask学习之九 分页
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination 中文翻译地址:http:// ...
- CH1401 兔子与兔子
#include<bits/stdc++.h> using namespace std; ,p=; typedef unsigned long long ULL;//自然溢出 ULL f[ ...