简介
@norjs/pgrunner 是一个能够在 Node.js 环境中运行 PostgreSQL 数据库的 npm 包。它提供了一个简单易用的接口,能够直接在代码中创建、连接 PostgreSQL 数据库,并执行 SQL 查询等操作。本文将详细介绍 @norjs/pgrunner 的使用方法,帮助读者快速上手使用。
安装与使用
安装
@norjs/pgrunner 可以通过 npm 安装:
npm install @norjs/pgrunner
安装完成后,在代码中引入该模块:
const { Pgrunner } = require('@norjs/pgrunner');
使用
连接到 PostgreSQL 数据库的步骤如下:
- 创建 Pgrunner 实例,并传入连接数据库所需的参数。
- 调用 Pgrunner.connect() 方法连接数据库。
- 调用 Pgrunner.query() 方法执行 SQL 查询,并获取返回结果。
下面是一个简单的示例代码,展示了如何连接到 PostgreSQL 数据库,并执行查询:
-- -------------------- ---- ------- ----- - -------- - - --------------------------- ----- -------- ------ - ----- -- - --- ---------- ----- ----------- --------- ------------------- ----- ------------ --------- ------- ----- ----- --- ----- ------------- ----- ------ - ----- ---------------- - ---- -------- -------------------- ----- --------- - ------------------ -- --------------------
类型定义
@norjs/pgrunner 预定义了一些类型,以简化代码书写和提高代码可读性。这些类型如下:
PgrunnerConfig
PgrunnerConfig 是连接到 PostgreSQL 所需的配置对象,包含以下属性:
属性名 | 类型 | 描述 |
---|---|---|
user | string | PostgreSQL 用户名 |
host | string | PostgreSQL 服务器地址 |
database | string | 数据库名称 |
password | string | PostgreSQL 密码 |
port | number | PostgreSQL 端口号 |
PgrunnerQueryResult
PgrunnerQueryResult 是 Pgrunner.query() 方法的查询结果对象,包含以下属性:
属性名 | 类型 | 描述 |
---|---|---|
rowCount | number | 查询结果行数 |
rows | Array<any> | 查询结果数组 |
fields | Array<any> | 查询结果字段信息数组 |
command | string | 查询命令(如 SELECT) |
oid | number | 查询结果 oid |
rowsAsArray | boolean | 是否将结果行作为数组返回 |
其中 rows 属性是一个数组,每个元素代表一行查询结果。fields 属性包含了查询结果的字段信息,如字段名、数据类型等。
PgrunnerPoolConfig
PgrunnerPoolConfig 是连接到 PostgreSQL 连接池所需的配置对象,包含以下属性:
属性名 | 类型 | 描述 |
---|---|---|
name | string | 连接池名称;默认值是“nor_pool” |
numConnections | number | 连接池中的最大连接数量;默认值是 10 |
iddleTimeout | number | 连接池最长闲置时间(毫秒);默认值是 30000 |
queryTimeout | number | 查询超时时间(毫秒);默认值是 60000 |
API 详解
Pgrunner
构造函数
const pg = new Pgrunner(config: PgrunnerConfig);
创建 Pgrunner 实例,传入连接 PostgreSQL 所需的配置对象 PgrunnerConfig。
connect()
await pg.connect(): Promise<void>
连接到 PostgreSQL 数据库。
query()
const result = await pg.query(queryString: string, values?: Array<any>): Promise<PgrunnerQueryResult>
执行 SQL 查询,返回查询结果,如果存在参数 values,使用预处理方式防止 SQL 注入。
end()
await pg.end(): Promise<void>
关闭与 PostgreSQL 数据库的连接。
PgrunnerPool
PgrunnerPool 是连接到 PostgreSQL 连接池的类。
构造函数
const pool = new PgrunnerPool(config: PgrunnerConfig | PgrunnerPoolConfig);
创建 PgrunnerPool 实例,传入连接 PostgreSQL 或连接池所需的配置对象 PgrunnerConfig 或 PgrunnerPoolConfig。
connect()
await pool.connect(): Promise<Pgrunner>
从连接池中获取一个连接,返回 Pgrunner 实例。
end()
await pool.end(): Promise<void>
关闭连接池。
总结
本文介绍了 @norjs/pgrunner 的使用方法。通过学习 @norjs/pgrunner 的使用,读者可以在自己的项目中方便地创建和连接 PostgreSQL 数据库,并执行各种操作。希望本文能给读者带来帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/105790