新建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封装例子的更多相关文章

  1. 基础类封装-pymysql库操作mysql封装

    import pymysql from lib.logger import logger from warnings import filterwarnings filterwarnings(&quo ...

  2. python操作mysql封装成类

    import pymysqlimport loggingimport sys # 加入日志#获取logger实例logger = logging.getLogger("baseSpider& ...

  3. Python使用DB-API操作MySQL数据库

    Python提供了一个标准数据库API,称为DB-API,用于处理基于SQL的数据库.与任何底层数据库的交互都可以使用DB-API,因为DB-API在代码与驱动程序之间提供了一个抽象层,可以根据需要替 ...

  4. Python3操作MySQL基于PyMySQL封装的类

    Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

  5. LightMysql:为方便操作MySQL而封装的Python类

    原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

  6. Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...

  7. 封装操作mysql、redis

    封装操作mysql: import pymysql class MyDb: def __init__(self,host,password,user,db,port=3306,charset='utf ...

  8. jdbc操作mysql(三):利用注解封装

    案例五:利用注解封装 重复步骤 我们使用jdbc操作mysql时发现,操作不同表中数据,所写的方法基本相同:比如我们根据id向用户表添加数据,根据id删除商品表的数据,或者查询所有数据并用list集合 ...

  9. 基于MySQL的-u选项实现如何最大程度防止人为误操作MySQL数据库

    在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,MySQL程序就会拒绝执行.那么,我们基于MySQL提供的这项设置,就可以轻松实现如何最大程度防止 ...

随机推荐

  1. JS 里的数据类型转换

    JS的数据类型转换 一.js中的数据类型Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 1.Number Number数据类型指 ...

  2. 小爬爬6: 网易新闻scrapy+selenium的爬取

    1.https://news.163.com/ 国内国际,军事航空,无人机都是动态加载的,先不管其他我们最后再搞中间件 2. 我们可以查看到"国内"等板块的位置 新建一个项目,创建 ...

  3. thinkphp5.0 composer安装phpmailer

    1.安装:composer require phpmailer/phpmailer 2.引入:use PHPMailer\PHPMailer\PHPMailer: 3.调用:$mail = new P ...

  4. Ubuntu 如何编译安装第三方库

    在工程应用中都会用到第三方库,标准库是在我们安装IDE环境或系统自带已经编译好的库,我们是可以直接调用的,而第三方库需要我们自己下载,编译和安装后才能使用,这里我们说的是Ubuntu如何使用cmake ...

  5. QT 开发ros gui过程中遇到:error: catkin_package() include dir 'include' does not exist relative to '/home/jun/catkin_ws/src/qt_ros_test' /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_p

    这是因为在ros工作空间的包中没有include文件夹造成的,所以在该路径下创建include的文件夹,问题就解决了.

  6. Flask学习之三 web表单

    本部分Miguel Grinberg教程的翻译地址:http://www.pythondoc.com/flask-mega-tutorial/webforms.html 开源中国的:http://ww ...

  7. SaltStack之用户账户管理

    在Salt.state中,user 模块是用来创建用户和管理用户设定的,用户可以被设置成 present 状态或者 absent 状态 注释: present:添加用户 absent   : 删除用户 ...

  8. activiti 如何使用database前缀来区分activiti数据库和业务数据库

    为什么80%的码农都做不了架构师?>>> 第一步是先集成好activiti,我使用的是5.22.0,使用springboot集成,pom文件如下: ​ <parent> ...

  9. poj 3278(hdu 2717) Catch That Cow(bfs)

    Catch That Cow Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  10. hdu 1254 推箱子(嵌套搜索,bfs中有dfs)

    推箱子 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...