环境准备
1 navicat premium
2 postgresql 14
装完上述软件后,远程连接上之后如下:
自己建立一个用户表users,然后随机生成一些数据即可
步骤
这里我将项目放到了gticode里,可以下载下来使用
https://gitcode.net/wangbiao9292/nodejs-postgresql/-/tree/master
这里几个文件解释下:
1 node_modules 依赖
2 package-lock.json 锁定的版本
3 package.json 配置
4 pgsql.js postgresql用来连接数据库的配置
5 server.js 依赖express的配置
下面贴一下代码:
pgsql.js
var pg = require("pg");
class pgsql {pool;constructor() {this.pool = new pg.Pool({database: "demo", //数据库名称user: "postgres", //用户名password: "root", //密码port: 5432, //端口号// 扩展属性max: 20, // 连接池最大连接数idleTimeoutMillis: 3000 // 连接最大空闲时间 3s})}//查询数据searchData(sqlString,callback){this.pool.connect((err,client,done)=>{client.query(sqlString,(err,result)=>{console.log(result)})})}
}
module.exports = pgsql
server.js
const pgsql = require("./pgsql")
const express = require('express');
const app = express();
const port = 5422;app.listen(port, () => console.log(`listening on http://localhost:${port}`));/*** 根路径访问*/
app.get("/",(req,res)=>{res.send("hello world")
})/*** 获取用户表信息*/
app.get("/user",(req,res)=>{var sqlString = "select * from users";var s = new pgsql();s.pool.connect((err,client,done)=>{client.query(sqlString,(err,result)=>{done();console.log(result.rows)res.send(result)})})})
然后运行npm start
就可以通过接口取值了: