什么是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.js
和sync.js
文件
const Sequelize = require('sequelize')
const seq = require('./seq')
const User = seq.define('user', {userName: {type: Sequelize.STRING,allowNull: false,comment: '用户名'},password: {type: Sequelize.STRING,allowNull: false,comment: '密码'},nickName: {type: Sequelize.STRING,comment: '昵称'}
})module.exports = {User
}
同步数据表
const seq = require('./seq')require('./model')
seq.authenticate().then(() => {console.log('ok')
}).catch(() => {console.log('err')
})
seq.sync({ force: true }).then(() => {console.log('sync ok')process.exit()
})
插入数据
从现在开始,终于到了实战的时候了。现在我们的数据库中有了blogs
和users
两张表,但是我们还没有数据。那我们就添加 数据吧!在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
运行一下这个文件