#db.js var mysql = require(‘mysql’); var con = mysql.createConnection{ host : ‘xxx.xx.xxx.xxx’, user : ‘xxx’, password : ‘xxxxxx’, port : ‘3306’, }; con.connect(function(err){ if(err){ console.log(’[err]:’+err); }else{ console.log(’[connection]:succeed’); } }); exports.con = con;
#dbquery.js var db = require(’./db.js’); var connect = db.connect;
function Query(querystring,post){ connect.query(querystring,post,function(err,rows,fields){ if(err){ return {‘success’:false,‘result’:err}; }else{ return {‘success’:true,‘result’:rows}; } }); }
我没有断开数据库连接,会不会在多次调用dbquery.js的时候生成多个数据库连接。
不会,db.js只会执行一次。但是这样写会暴露不少问题。 例如多次查询会使用同一个con,容易出问题,而且con长期处于连接状态,被断开了怎么处理,应该要对数据库连接的生命周期进行封装,或者找现成的库。