热门标签 | 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运行一下这个文件


推荐阅读
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社区 版权所有