12.2KOA ORM

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/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容