Nodejs對postgresql基本操作的封裝
基於nodejs平臺對postgresql的增刪改查基本操作進行了封裝,能滿足基本的實際應用,比較複雜的SQL需另外實現。
PG.js檔案如下:
var pg = require('pg'); var conString = "postgres://username:[email protected]/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基本操作的封裝
基於nodejs平臺對postgresql的增刪改查基本操作進行了封裝,能滿足基本的實際應用,比較複雜的SQL需另外實現。 PG.js檔案如下: var pg = require('pg'); var conString = "postgres://username:[e
[開源]使用C# 對CPU卡基本操作封裝
bubuko 廣告 說明 byte 完成 記錄日誌 介紹 http tps Github 地址:https://github.com/zifeiniu/CPUCardLib 項目需求及簡介: 公司要求將用戶相關的信息儲存到射頻卡中,之前項目使用的Mifare類型卡,只儲存了
Python-借助xlsxwriter對Excel基本操作
ring log tle src ima 文件 條形圖 def title 1導入第三方包,需單獨下載,安裝pip工具的情況下,可使用CMD下命令:pip install xlsxwriter 1 import xlsxwriter 2創建excel文件,新增一個工作簿
postgresql 基本操作
int null mail sig pass arc 表操作 查看sql alt 庫操作 \h:查看SQL命令的解釋,比如\h select。 \?:查看psql命令列表。 \l:列出所有數據庫。 \c [database_
python mysql基本操作封裝
# -*- coding: UTF-8 -*- import re import MySQLdb as mdb class MysqldbHelper(object): """操作mysql資料庫,基本方法 """ def __init__(self
單機版 RedisPoolUtil({基本操作封裝工具類})【一】
<!--整合的RedisJAR--> <!--引入jedis需的jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&
單機版 JedisUtil({基本操作封裝工具類})【二】
<!--整合的RedisJAR--> <!--引入jedis需的jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&
單機版 RedisUtils({基本操作封裝工具類})【三】
<!--整合的RedisJAR--> <!--引入jedis需的jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&
postgreSql 基本操作總結
ssi lec order by sta cti title 退出 key syntax 0. 啟動pgsl數據庫 pg_ctl -D /xx/pgdata start 1. 命令行登錄數據庫 1 psql -U username -d d
lua對sqlite資料庫操作封裝
DB = {} db_e = require "luasql.sqlite3" function open_db( ... ) -- body env = assert(db_e.
DataFrame對行列的基本操作實戰
int32 from imp [1] object num 所有 col 三種 1、pandas對行列的基本操作命令: import numpy as np import pandas as pd from pandas import Sereis, DataFrame
對象序列化和反序列化的基本操作
bsp 序列 log png .cn ima images mage alt 對象序列化和反序列化的基本操作
對表數據的基本操作
-1 兩個 指定 沒有 har 操作 null 之間 pan --對日期的做法insert into wan values (‘ktf‘,5000,to_date(‘1980-08-11 14:40:23 ‘,‘yyyy-mm-dd hh24:mi:ss‘));sele
RDDs基本操作、RDDs特性、KeyValue對RDDs
clas count() cas 類型 cti 遍歷 strong 節點 分布式 摘要:RDD是Spark中極為重要的數據抽象,這裏總結RDD的概念,基本操作Transformation(轉換)與Action,RDDs的特性,KeyValue對RDDs的Transforma
PDO 對 mysql的基本操作
con ins nsa http array 查詢 pan rom 錯誤 PDO擴展操作 <?php $dsn = ‘mysql:dbname=yii2;host=localhost‘; $user = ‘root‘; $password = ‘123456‘;
PHP面向對象的三大特征操作——封裝、繼承、多態(上)
function 有一個 私有 urn 變量賦值 魔術方法 var public 安全 <?php //三大特征:封裝、繼承、多態 //封裝做法:1.將成員變量變為私有2.在類中做方法間接操作成員變量3.在方法裏加控制條件 //封裝目的:使類更加安全/* class
postgresql基本命令操作
postgresql基本命令操作postgresql基本命令操作:登陸數據庫:[[email protected] ~]$ psql -Utestwjw -h 127.0.0.1 -dpostgres -p 36985 Password for user testwjw: psql.bin (9.5
redis對key的基本操作
mman sel .com error .net exist flushdb empty flush 不忘初心,勵誌前行 del key1 key2 ... Keyn作用: 刪除1個或多個鍵返回值: 不存在的key忽略掉,返回真正刪除的key的數量 rename ke
java對redis的基本操作
pac 同時 功能 serve chm 更新 程序 bench 模擬 2、安裝 1)解壓後將裏面所有文件拷貝至redis安裝目錄: 幾個exe程序的功能: redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發
C語言對文件的基本操作
file結構體 參考 b- https rewind 語言 正在 cpp 作文件 在C語言中,對於文件的操作是利用FILE結構體進行的。 幾個常用的操作文件函數簡介 1:打開文件 FILE *fopen( const char *filename, const char