基于Node.js的简易MysqlHelper(Nosql版本)(Mysql框架)

(菜鸟劣作,大神勿喷)


//Lemon——LimCong制作
var mysql = require('mysql');
/**
 * 异步封装,使用时可以用await实现异步方法同步编程
 * @param {Object} conn - 连接池对象
 * @param {String} str - 处理好的sql语句
 * @param {Number} isfind - 是否是查询语句0-不是 1-查询多个 2-id查询
 */
const createAsyncAction = async (conn, str, isfind = 0) => {
   
    return new Promise((resolve, reject) => {
   
        conn.query(str, function (err, data, field) {
   
            //查询出错,抛出reject
            if (err) {
   
                reject({
    err })
                return
            }
            //存在第三个参数,是查询语句
            if (field) {
   
                //是否是id查询
                const findData = isfind == 2 ? data[0] : data;
                resolve({
    data: findData, field });
                return
            }
            //其他语句
            resolve({
    field: data });
        })
    })
}

/**
 * 构造器 默认连接本地库,如想变成通用Helper,请加参。
 * 本Helper的对象单位是表。
 * 类的对象为:
 * conn -> Object -> mysql的Connection
 * table -> String -> 表名
 */
class MysqlHelper {
   
    /**
     * 
     * @param {String} database - 数据库名
     * @param {String} table  - 表名
     */
    constructor(database, table) {
   
        this.conn = mysql.createConnection({
   
            host: "localhost",
            user: "root",
            password: "19990529",
            port: "3306",
            database: database
        });
        this.table = table;
    }
    /**
     * 构造成功后需执行该方法才能正常使用。
     * 该方法封装了连接方法。
     */
    baseBegin() {
   
        this.conn.connect((err) => {
   
            if (err) 
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值