sequelize是一个node web开发ORM的框架,【ORM: 对象关系映射,它是一种设计体系,用于实现面向对象编程语言里不同类型系统的数据之间的转换】,ORM技术是在对象和数据之间提供了一条桥梁,前台的对象型数据和数据库中的关系型数据通过这个相互转化。
本次使用mysql做练习
1、下载安装
npm install --save sequelize
npm install --save mysql22、测试建立连接
const Sequelize = require('sequelize');
const conf = {
host: 'localhost',
dialect: 'mysql'
}
const seq = new Sequelize('test_db', 'root', '12345', conf)
seq.authenticate().then(() => {
console.log('ok')
}).catch(() => {
console.log('err')
})注:对于test_db数据库的使用,可以用mysql workbench
3、关闭连接sequelize.close()
4、初始化,创建连接对象并模块化
新建sequelize.js文件
const Sequelize = require('sequelize');
const conf = {
host: 'localhost',
dialect: 'mysql'
}
const seq = new Sequelize('test_db', 'root', '12345', conf)
module.exports = seq5、定义数据表结构,将表结构写进代码里
新建一个model.js
const Sequelize = require('sequelize');
const seq = require('./sequelize');
const User = seq.define('user', {
userName: {
type: Sequelize.STRING,
allowNull: false
},
password: {
type: Sequelize.STRING,
allowNull: false
},
nickname: {
type: Sequelize.STRING,
comment: '昵称'
}
})
module.exports = {
User
}以上代码,直接引入之前初始化创建的sequelize对象,然后使用define方法定义数据表结构,其他数据也可以通过此方式定义。
6、同步数据表结构sync.js
const seq = require('./sequelize');
require('./model')
seq.sync({force: true}).then(() => {
process.exit()
})创建完毕,执行node src/sync.js就可以同步数据表结构了
7、创建初始数据
const {User} = require('./model')
!(async function () {
const kaka = await User.create({
userName: 'kaka',
password: '123',
nickName: '卡卡'
})
console.log('kaka', kaka.dataValues)
})()8、CRUD
const kaka = await User.findOne({ // 查询特定列
attributes: ['userName', 'nickName'],
where: {
userName: 'kaka'
}
})
const kakaList = await Blog.findAll({ // 查询一个列表并排序
where: {
userId: 2
},
order: [
['id', 'desc']
]
})
const delUserRes = await User.destroy({ // 删除
where: {
id: 2
}
})
const updateRes = await User.update({ // 改
nickname: '卡卡西'
}, {
where: {
userName: 'kaka'
}
})暂告一段落,先入门学习了解一下,精彩内容待续。。。