12.2KOA ORM
2020-01-07 本文已影响0人
帶頭二哥
ORM (Object Relational Mapping)
介绍
ORM的全称是Object Relational Mapping,即对象关系映射。它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将这些对象组织起来,实现系统业务逻辑的过程。在ORM过程中最重要的概念是映射(Mapping),通过这种映射可以使业务对象与数据库分离。从面向对象来说,数据库不应该和业务逻辑绑定到一起,ORM则起到这样的分离作用,使数据库层透明,开发人员真正的面向对象。图 1简单说明了ORM在多层系统架构中的这个作用。
sequelize 介绍
是基于
node
实现的一套ORM框架
sequelize-auto 工具
作用
可以通过这个工具将数据库的表动态生成 sequelize 框架能够解析的模型
安装
npm install sequelize-auto --save-dev
生成模型
# sequelize-auto -h 主机名 -d 数据库名 -u 用户名 -p 端口 -x 密码 -o 输出路径
./node_modules/sequelize-auto/bin/sequelize-auto -h localhost -d koa -u root -p 3306 -x 123456 -o ./models
加载模型并使用
// 引入 orm 框架模块
const Sequelize = require('sequelize');
// 创建 orm 框架
const sequelize = new Sequelize('koa', 'root', '123456', {
host: 'localhost', // 主机号
dialect: 'mysql', // 'mysql'|'sqlite'|'postgres'|'mssql'
pool: { // 数据库连接池
max: 5,
min: 0,
charset: 'utf8mb4',
idle: 30000
},
logging: false
});
const TestModel = sequelize.import('./models/test.js')
sequelize.sync()
.then(() => TestModel.create({
name: 'sequelize test'
}))
.then(testObj => {
console.log(testObj.toJSON());
});