热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sequelize的使用

什么是sequelize?sequelize是一个orm框架,什么是orm呢?即Object-RelationlMappingÿ

什么是sequelize?

sequelize是一个orm框架,什么是orm呢?即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。

安装依赖

知道了sequelize是什么,很想在项目中使用起来吧!那接下来开始我们的第一步吧!在项目的根目录运行 npm i mysql2 sequelize -S

创建sequelize连接配置文件

依赖也有了,下面我们创建sequelize的配置文件吧!在项目的根目录下新建src目录,并在目录中新建seq.js文件。

const Sequelize = require('sequelize')const conf = {host: 'localhost',dialect: 'mysql'
}const seq = new Sequelize('koa2_weibo_db', 'root', '111111', conf)// 测试连接
seq.authenticate().then(() => {console.log('ok')
}).catch(() => {console.log('err')
})module.exports = seq

写完后可以使用node命令运行一下,如果命令行输出了ok,那就恭喜你成功了,是不是很简单~

创建模型并同步数据表

接下来还有一点准备工作要进行,有了配置文件还不够,我们还需要创建模型和同步数据表的文件。在src目录新建model.jssync.js文件

// model.js
const Sequelize = require('sequelize')
// 数据库配置文件
const seq = require('./seq')// 创建 users 模型
const User = seq.define('user', {// id 会自动创建,并设为主键、自增userName: {type: Sequelize.STRING,allowNull: false,comment: '用户名'},password: {type: Sequelize.STRING,allowNull: false,comment: '密码'},nickName: {type: Sequelize.STRING,comment: '昵称'}// 自动创建 createdAt updatedAt
})module.exports = {User
}

同步数据表

const seq = require('./seq')require('./model')// 测试连接
seq.authenticate().then(() => {console.log('ok')
}).catch(() => {console.log('err')
})// 执行同步
// force 值为 true 时,表示每次执行这个方法都会先将表给删掉,再重新创建
seq.sync({ force: true }).then(() => {console.log('sync ok')process.exit()
})

插入数据

从现在开始,终于到了实战的时候了。现在我们的数据库中有了blogsusers两张表,但是我们还没有数据。那我们就添加 数据吧!在src目录新建create.js文件。

const { User, Blog } = require('./model')// 如果前面写的报错的,也会执行后面的
!(async function () {// 创建用户const person = await User.create({userName: 'lisi',password: '123',nickName: '李四'})console.log('person: ', person.dataValues)const blog = await Blog.create({title: '标题4',content: '内容4',userId: person.dataValues.id})console.log('blog: ', blog.dataValues)
})()

使用node运行一下这个文件


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
author-avatar
清山水妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有