Nodejs对postgresql基本操作的封装方法
程序员文章站
2023-10-27 17:19:16
基于nodejs平台对postgresql的增删改查基本操作进行了封装,能满足基本的实际应用,比较复杂的sql需另外实现。
pg.js文件如下:
var pg...
基于nodejs平台对postgresql的增删改查基本操作进行了封装,能满足基本的实际应用,比较复杂的sql需另外实现。
pg.js文件如下:
var pg = require('pg'); var constring = "postgres://username:password@localhost/databasename"; var client = new pg.client(constring); var pg = function(){ console.log("准备向****数据库连接..."); }; pg.prototype.getconnection = function(){ client.connect(function (err) { if (err) { return console.error('could not connect to postgres', err); } client.query('select now() as "thetime"', function (err, result) { if (err) { return console.error('error running query', err); } console.log("hbdfxt数据库连接成功..."); }); }); }; // 查询函数 //@param str 查询语句 //@param value 相关值 //@param cb 回调函数 var clienthelper = function(str,value,cb){ client.query(str,value,function(err,result){ if(err) { cb("err"); } else{ if(result.rows != undefined) cb(result.rows); else cb(); } }); } //增 //@param tablename 数据表名称 //@param fields 更新的字段和值,json格式 //@param cb 回调函数 pg.prototype.save = function(tablename,fields,cb){ if(!tablename) return; var str = "insert into "+tablename+"("; var field = []; var value = []; var num = []; var count = 0; for(var i in fields){ count++; field.push(i); value.push(fields[i]); num.push("$"+count); } str += field.join(",") +") values("+num.join(",")+")"; clienthelper(str,value,cb); }; //删除 //@param tablename 数据表名称 //@param fields 条件字段和值,json格式 //@param cb 回调函数 pg.prototype.remove = function(tablename,fields,cb){ if(!tablename) return; var str = "delete from "+tablename+" where "; var field = []; var value = []; var count = 0; for(var i in fields){ count++; field.push(i+"=$" +count); value.push(fields[i]); } str += field.join(" and "); clienthelper(str,value,cb); } //修改 //@param tablename 数据表名称 //@param fields 更新的字段和值,json格式 //@param mainfields 条件字段和值,json格式 pg.prototype.update = function(tablename,mainfields,fields,cb){ if(!tablename) return; var str = "update "+tablename+" set "; var field = []; var value = []; var count = 0; for(var i in fields){ count++; field.push(i+"=$"+count); value.push(fields[i]); } str += field.join(",") +" where "; field = []; for(var j in mainfields){ count++; field.push(j+"=$"+count); value.push(mainfields[j]); } str += field.join(" and "); clienthelper(str,value,cb); } //查询 //@param tablename 数据表名称 //@param fields 条件字段和值,json格式 //@param returnfields 返回字段 //@param cb 回调函数 pg.prototype.select = function(tablename,fields,returnfields,cb){ if(!tablename) return; var returnstr = ""; if(returnfields.length == 0) returnstr = '*'; else returnstr= returnfields.join(","); var str = "select "+returnstr+ " from "+tablename+" where "; var field = []; var value = []; var count = 0; for(var i in fields){ count++; field.push(i+"=$"+count); value.push(fields[i]); } str += field.join(" and "); clienthelper(str,value,cb); }; module.exports = new pg();
用法很简单,如下:
var pgclient = require('./pg');// 引用上述文件 pgclient.getconnection(); // 调用上述四个函数即可 pgclient.save('userinfo',{'name': admin},cb);<span style="font-family: arial, helvetica, sans-serif;">.</span>
以上这篇nodejs对postgresql基本操作的封装方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇: 支付宝怎么还贷款?支付宝自动还房贷教程