国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Nodejs對postgresql基本操作的封裝方法

2019-11-19 12:05:56
字體:
來源:轉載
供稿:網友

基于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基本操作的封裝方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通州区| 建德市| 东源县| 奉贤区| 北京市| 五河县| 琼海市| 谷城县| 湖南省| 丹棱县| 海伦市| 沂南县| 利川市| 宜阳县| 宣恩县| 集贤县| 天峻县| 乐山市| 南召县| 新巴尔虎右旗| 嘉善县| 永年县| 永福县| 当涂县| 商丘市| 迁安市| 安新县| 辽宁省| 青浦区| 杭锦后旗| 德庆县| 宜良县| 赤水市| 宾阳县| 博罗县| 阿图什市| 乐陵市| 哈密市| 襄汾县| 霞浦县| 新郑市|