Sequelize 是一个 Node.js ORM(Object-Relational Mapping) 框架,它可以把数据表映射成 JavaScript 对象,方便我们进行数据库的操作。本文将介绍 Sequelize 的基本使用方法,包括连接数据库、定义模型、增删改查等操作。
连接数据库
在使用 Sequelize 前,我们需要先连接数据库,可以通过 Sequelize 提供的构造函数 Sequelize
实现。以下是一个连接 MySQL 数据库的示例代码:
-- -------------------- ---- ------- ----- --------- - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- ------- --- ------------------------ -------- -- - ----------------------- --- ---- ----------- ---------------- -- ---------- -- - --------------------- -- ------- -- --- ----------- ----- ---
其中,第一个参数是数据库名,第二个参数是用户名,第三个参数是密码,第四个参数是配置对象,其中的 host
属性指定了数据库服务器的地址,dialect
属性指定了数据库类型。通过 authenticate
方法检查连接是否成功,如果成功则输出 Connection has been established successfully.
,否则输出错误信息。
定义模型
在使用 Sequelize 前,需要先定义数据表的模型,可以通过 sequelize.define
方法定义。以下是一个定义用户表的示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - --- - ----- ------------------ ----------- ----- -------------- ---- -- --------- ----------------- --------- ----------------- ------ ---------------- ---
其中,第一个参数是表名,第二个参数是定义字段的对象,每个键值对代表一个字段,其中的 id
字段是主键且自增,username
、password
和 email
字段是普通的字符串字段。
增删改查
定义模型后,可以通过模型的方法实现增删改查等操作。
创建记录
可以通过模型的 create
方法创建新记录,以下是一个创建新用户的示例代码:
User.create({ username: 'admin', password: '123456', email: 'admin@example.com' }) .then(user => { console.log(user.toJSON()); });
其中,create
方法的参数是一个对象,代表新记录的属性,创建成功后返回一个包含新记录信息的对象。
查询记录
可以通过模型的 findAll
方法查询符合条件的记录。以下是一个查询所有用户的示例代码:
User.findAll() .then(users => { console.log(users.map(user => user.toJSON())); });
其中,findAll
方法的参数是一个查询条件的对象,如果不传递参数则查询所有记录,查询成功后返回包含所有记录的数组。
修改记录
可以通过模型的 update
方法修改符合条件的记录。以下是一个修改用户密码的示例代码:
-- -------------------- ---- ------- ------------- --------- -------- -- - ------ - --------- ------- - -- ------------ -- - -------------------- ---
其中,update
方法的第一个参数是一个要修改的属性对象,第二个参数是一个查询条件的对象,表示要修改哪些记录。
删除记录
可以通过模型的 destroy
方法删除符合条件的记录。以下是一个删除用户名为 admin
的用户的示例代码:
User.destroy({ where: { username: 'admin' } }) .then(result => { console.log(result); });
其中,destroy
方法的参数是一个查询条件的对象,表示要删除哪些记录。
总结
本文介绍了 Sequelize 操作数据库的基本实现,包括连接数据库、定义模型、增删改查等操作。Sequelize 提供了丰富的 API,方便我们进行数据库的操作,同时也可以使用原始 SQL 语句和存储过程等高级功能。希望本文对初学者有所帮助,也希望读者能深入学习 Sequelize 的高级用法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d4e7dfb5eee0b525cbef99