查看: 93|回复: 0

一个node的orm框架:Sequelize;搭建mssql

[复制链接]

4

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-1-18 20:25:51 | 显示全部楼层 |阅读模式
首先你要先安装它
npm install --save sequelize 或者 -g
npm install --save tedious 或者 -g

我的项目结构:
controllers
     -userController.js
models
      -user.js
config.js
db.js

===config.js 初始化连接信息与项目其它信息,内容如下===
module.exports = {
    cookieTime: 1000 * 60 * 120,//cookie过期时间
    server_port: 3000, //服务器端口
    db_host: 'localhost',//数据库服务器ip
    db_port: 1433, //数据库端口
    db_database: 'database', //数据库名
    root_path: __dirname, //项目根绝对路径
    db_user: 'sa',
    db_pwd: '123'
}

===user.js 实体信息,内容如下===
module.exports = function(sequelize, DataTypes) {
    return sequelize.define('User', {
      id: {
         type: DataTypes.INTEGER,
         allowNull: false,
         primaryKey: true,
         autoIncrement: true
      },
      userName: {
          type: DataTypes.STRING,
          allowNull: false,
      }
    }, {
         //要记得添加表名,我之前忘记添加,爬了一天坑
         tableName: 'User'
    });
};

===db.js 初始化数据库连接,内容如下===

//初始化 Sequelize
const Sequelize = require('sequelize');
//使用config里的数据库连接
const config = require('./config.js');

//连接
const sequelize = new Sequelize(config.db_database,
    config.db_user,
    config.db_pwd,
    {
        host: 'localhost',
        dialect: 'mssql',
        operatorsAliases: false,
        port: "1433",
        pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000
       },
   });

//实体
const models = [
   {
        "name": "T_Lease",
        "path": "./models/user.js"
   }
]

//导入所有实体
models.forEach(item => {
    module.exports[item.name] = require(item.path)(sequelize, Sequelize)
})

===userController.js 操作处理===
'use strict';
const user = require('../db.js').user;

exports.loadAllLease = (req, res, next) => {
    T_Lease.findAll().then(data => {
        console.log(data)
   }).catch(error => {
        console.log(error)
   })
}

sequelize 简单使用,而且官方文档也写的通俗易懂
使用文档:The node.js ORM for PostgreSQL, MySQL, SQLite and MSSQL
报错文档:The node.js ORM for PostgreSQL, MySQL, SQLite and MSSQL API Document

===外加一个 sequelize-auto 自动生成实体===
首先你需要安装
npm install sequelize-auto -g

这里还需要注意安装
npm install --save tedious // MSSQL

然后进入项目路劲使用命令窗口
sequelize-auto -o "./models" -d database -h localhost -u root -p 1433 -x root -e mssql -t user
你也可以移除 -t user,这样可以生成整个数据库

以上就是 sequelize 与 sequelize-auto 的使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表