什么是 Sequelize?
Sequelize 是一个 Node.js ORM 框架,它支持多种数据库(PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server),提供了简单易用的接口来访问它们。Sequelize 还提供了一些强大的特性,比如事务和热更新。
Sequelize 的主要思想是通过对象和关系之间的映射来处理数据。它将数据库中的表映射到 JavaScript 中的模型。这样的好处是,我们可以像操作对象一样操作数据库,而不用关心数据库的底层实现。
安装 Sequelize
可以使用 npm 来安装 Sequelize:
npm install sequelize
同时,我们也需要安装适配的数据库驱动:
npm install pg pg-hstore // postgres npm install mysql2 npm install mariadb npm install sqlite3 npm install tedious // Microsoft SQL Server
连接数据库
在使用 Sequelize 之前,我们需要先建立数据库连接。以下是连接到 MySQL 数据库示例:
-- -------------------- ---- ------- ----- --------- - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- -------- -------- ------ -- ---- ------- - ------------ ---- -- --------- - ---
定义模型
定义模型是 Sequelize 的核心功能,它是由 JavaScript 对象表示的数据库表。Sequelize 提供了一个 sequelize.define()
方法来定义一个模型。以下是一个示例:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ---------------- -- --------- --- ---- - ---
在上述示例中,我们定义了一个名为 User
的模型,它对应的数据库表名为 users
。模型有两个字段:firstName
和 lastName
,它们的类型分别为 STRING
,allowNull
属性表示该字段是否允许为空。
同步模型到数据库
在使用模型前,相应的数据表需要先同步到数据库中。可以使用模型的 sync()
方法完成同步。以下是示例:
// 同步模型到 MySQL 数据库 sequelize.sync();
创建数据
创建一个数据可以使用模型的 create()
方法。以下是示例:
User.create({ firstName: 'John', lastName: 'Doe' }).then(user => { console.log(user.toJSON()); });
在上述示例中,我们创建了一个名为 John Doe
的用户。
查询数据
查询数据可以使用 findAll()
方法,它可以接收一个对象作为查询条件。以下是示例:
User.findAll({ where: { lastName: 'Doe' } }).then(users => { console.log(users); });
在上述示例中,我们查询了数据库中所有姓 Doe
的用户。
更新数据
更新数据可以使用 update()
方法。以下是示例:
User.update({ firstName: 'Jane' }, { where: { lastName: 'Doe' } }).then(() => { console.log('Updated successfully'); });
在上述示例中,我们将姓 Doe
的用户的名字修改为了 Jane
。
删除数据
删除数据可以使用 destroy()
方法。以下是示例:
User.destroy({ where: { lastName: 'Doe' } }).then(() => { console.log('Deleted successfully'); });
在上述示例中,我们删除了姓 Doe
的用户。
总结
本文讲解了 Sequelize-Node.js ORM 框架的基本使用方法,包括连接数据库、定义模型、同步到数据库、创建数据、查询数据、更新数据和删除数据等。同时,本文也提供了相应的代码示例,希望能对读者在使用 Sequelize 时提供一定的帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64838fa048841e98942ee470