KOA

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());
  });
官方文档

http://docs.sequelizejs.com/

上一篇下一篇

猜你喜欢

热点阅读