如何使用 Sequelize 连接 Oracle 数据库

阅读时长 6 分钟读完

在前端开发中,经常需要操作数据库进行数据的增删改查等操作。Sequelize 是一个流行的 ORM 框架,可以用来连接各种不同的数据库,包括 MySQL、PostgreSQL、SQLite、Oracle 等。

在本文中,我们将介绍如何使用 Sequelize 连接 Oracle 数据库,并进行基本的增删改查操作。

准备工作

在使用 Sequelize 连接 Oracle 数据库之前,需要进行一些准备工作。

首先,需要安装 Oracle Instant Client 和 Node.js Oracle 模块。

Oracle Instant Client 是一种客户端软件,可以让我们连接到 Oracle 数据库。可以通过 Oracle 官网 下载对应的版本。

Node.js Oracle 模块是一个基于纯 JavaScript 的 Oracle 客户端。可以通过以下命令进行安装:

接下来,就可以开始连接 Oracle 数据库和使用 Sequelize 进行操作了。

连接 Oracle 数据库

在使用 Sequelize 进行操作之前,需要先建立数据库连接。可以使用以下代码进行连接:

-- -------------------- ---- -------
----- -------- - --------------------

----- --------- - --- --------------------- ----------- ----------- -
  -------- ---------
  ----- ------------
  ----- -----
  -------- ------
  --------------- -
    -------------- --------------------
    ----- -
      ---- --
      ---- --
      ----- -----
    --
    -- ------
    ------------- -----
  -
---

其中,databaseusernamepassword 分别表示要连接的数据库名称、用户名和密码。dialect 表示要使用的数据库类型,这里是 'oracle'

host 表示数据库的主机名,port 表示数据库的端口号。logging: false 表示禁用 Sequelize 的日志记录。

dialectOptions 表示数据库的连接选项。connectString 表示数据库连接字符串,这里是 'localhost:1521/XE'pool 表示数据库连接池的选项,包括最大连接数、最小连接数和闲置超时时间等。

最后,externalAuth 表示是否启用外部认证,设为 false 即可。

创建模型

在建立了数据库连接之后,需要定义模型来映射数据库中的表。可以使用以下代码来定义模型:

-- -------------------- ---- -------
----- - ------ --------- - - ----------

----- ---- ------- ----- --
-----------
  --- -
    ----- ------------------
    ----------- -----
    -------------- ----
  --
  ----- -
    ----- -----------------
    ---------- -----
  --
  ---- -
    ----- ------------------
    ---------- -----
  -
-- -
  ----------
  ---------- -------
  ---------- --------
  ----------- -----
---

-----------------

其中,User 是模型的名称,继承自 Model 类。init 方法用于定义模型的属性和选项。

idnameage 是模型中的属性,分别表示用户的编号、姓名和年龄。type 表示属性的数据类型,allowNull 表示是否允许为空。

sequelize 表示使用的 Sequelize 实例。modelName 表示模型的名称,tableName 表示关联的实际数据库表的名称(可以省略,Sequelize 会根据模型名称自动生成表名)。timestamps 表示是否在表中创建 createdAtupdatedAt 字段(可以设置成 false)。

最后,通过 sequelize.sync() 方法来同步模型和数据库,如果表不存在,Sequelize 会自动创建该表。

增删改查操作

在定义了模型之后,就可以进行基本的增删改查操作了。

插入数据

使用 create 方法插入一条数据,返回一个 Promise,其中包含插入的数据。

查询数据

使用 findAll 方法查询所有数据,返回一个 Promise,其中包含查询到的所有数据。

使用 findAll 方法查询符合条件的数据,可以通过 where 选项指定查询条件。Op 是 Sequelize 自带的运算符对象,提供了一些操作符,比如 likeorand 等。

更新数据

使用 findByPk 方法查询一条数据,返回一个 Promise,其中包含查询到的数据。随后修改数据并调用 save 方法保存数据。

删除数据

使用 findByPk 方法查询一条数据,返回一个 Promise,其中包含查询到的数据。随后调用 destroy 方法删除数据。

总结

本文介绍了如何使用 Sequelize 连接 Oracle 数据库,并进行基本的增删改查操作。通过定义模型、插入数据、查询数据、更新数据和删除数据等操作,可以方便地操作 Oracle 数据库。同时,Sequelize 还提供了一些高级功能,比如事务、联表查询等,可以根据实际需求进行深入学习和使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64571621968c7c53b09ee028

纠错
反馈