环境准备
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
就可以通过接口取值了: