发一个基于mysql2和async库的小模块,希望各位大神纠正错误
发布于 2年前 作者 CatalystDP 848 次浏览

var mysql = require(‘mysql2’); var async = require(‘async’);

var sqlFun=function(){}; sqlFun.prototype.setupConnection=function(info){ this.connection=mysql.createConnection({ host:info.host, user:info.user, password:info.password, database:info.database }); };//与Mysql建立连接

sqlFun.prototype.selectSql=function(sqlSentence,returnResult){ console.log(“start select”); var that=this; that.connection.query(sqlSentence,function(err,rows){ returnResult(rows); }); }; //查询的函数,resultResult返回查询到的结果

sqlFun.prototype.insertSql=function(sql,returnResult){ var connection=this.connection; async.waterfall([function(callback){ connection.query(sql,function(err,rows){ if(!err) callback(null,’true’); else { callback(err,’false’); } }); }], function(err,result){ console.log("insert error:"+err); returnResult(result); }); };//插入操作函数,returnResult函数返回状态值

sqlFun.prototype.deleteSql=function(sql,callbackResult){ var that=this; async.waterfall([function(callback){ that.connection.query(sql,function(err,rows){ var result=err? err:false; callback(null,result); }); }],function(err,result){ callbackResult(result); }); };//删除操作,callbackResult返回状态

sqlFun.prototype.closeConnection=function(callback){ console.log(“end connection”); this.connection.end(function(err){ callback(err); }); };//断开数据库连接,callback返回错误信息; module.exports=sqlFun;

使用方法: var sqlFun=require(‘./保存的js的文件名’); var useSql=new sqlFun(); useSql.setUpConnection([Object]);传入的对象包括数据库连接用户名、密码、主机名、数据库名 useSql.selectSql([string],[callback]);//string传入标准数据库语句,callback回调函数用来返回数据库操作的结果;

5 回复

代码太长了,先说说是干啥的

就是把一些数据库常用的操作给封装起来了,中间用了async库的waterfall流程控制,每次调用实例化对象的函数如useSql.selectSql([sting],[callback])第一个参数传入的sql语句,第二个参数传入一个回调函数来返回数据库查询的结果

@CatalystDP 哦,了解,一会研究下,谢啦

膜拜啊…收藏了

回到顶部