Nodejs对postgresql基本操作的封装
来源:互联网 发布:阿里云ecs适合hdfs吗 编辑:程序博客网 时间:2024/06/07 10:26
基于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>
0 0
- Nodejs对postgresql基本操作的封装
- Postgresql的基本操作
- PostgreSQL 的基本操作
- nodejs的基本操作
- ETL工具Kettle对PostgreSQL操作的基本介绍
- 对二叉树的基本操作的类模板封装
- 【PostgresQL】PostgresQL 基本操作
- postgreSQL对时间的操作
- postgreSQL在Windows上的基本操作
- 对Cookie操作的封装
- PostgreSql对空间数据的操作函数
- nodeJs对数据库的操作练习
- nodejs对文件操作的api
- 20160815 nodejs对mongodb的操作
- PostgreSQL基本操作
- postgresql基本操作
- kail PostgreSQL基本操作
- PostgreSQL基本操作-Linux
- 计算机视觉中的颜色特征-法国INRIA LEAR组Joost van de Weijer-Color in Computer Vision
- vim文档编辑
- oc GCD 信号量
- code vs 1743 反转卡片(splay)
- 欢迎使用CSDN-markdown编辑器
- Nodejs对postgresql基本操作的封装
- Nginx代理与负载均衡
- java线程深度解析(五)——并发模型(生产者-消费者)
- 形参是接口
- LeetCode:Power of Three
- 一元非线性回归-多项式函数拟合
- 【C++ STL】三十分钟掌握STL
- android中xml tools:属性详解
- DP 1001