【问题标题】:Integration of MySQL with NodeJS Backend and ReactJS FrontEndMySQL 与 NodeJS 后端和 ReactJS 前端的集成
【发布时间】:2024-01-20 00:30:02
【问题描述】:

我想开发一个 ERP 应用程序,前端使用 ReactJs,后端使用 NodeJS,数据库使用 MySQL

我的 ERP 也是对客户、供应商、采购订单、交货单和产品的管理。

我想知道 MySQL 与 NodeJS 的集成是否需要像 Sequelize 这样的 ORM 模型?

提前致谢。

【问题讨论】:

  • 不,它没有。您可以从您的代码直接连接到 MySQL,而无需任何 ORM。
  • 不,除非你想使用 ORM。您可以搜索 npmjs.com 中的简单模块来处理数据连接和其他原始内容。然后只需编写 SQL 查询。如果您更喜欢使用 ORM - 我相信您可能会发现很少。
  • 我想直接用 MySQL 和 nodeJS,但不知道在我的项目上是否可行?

标签: mysql node.js reactjs orm sequelize.js


【解决方案1】:

没有绝对需要 ORM。您可以通过 npm 为 node.js 安装 mysql 驱动程序并将其包含在您的项目中。 文档可以在这里找到:https://www.npmjs.com/package/mysql

你可以这样实现它:

var sql = require('mssql');

var config = {
    user: "databaseAccountUsername",
    password: "databaseAccountPassword",
    server: "databaseServerAddress",
    database: "databaseName",
    options: {
        encrypt: false
    }
}

const pool = new sql.ConnectionPool(config);
    pool.connect(err => {
    if(err) {
        console.log(err)
    }
});

function getCustomers() {
    var request = new sql.Request(pool);
    request.query("SELECT customer_id, first_name FROM customers")
    .then((result) => {
        res.end(JSON.stringify(result.recordsets[0]));
    })
    sql.close();
}

我建议在您的路线中提出您的查询,并使用 express 或任何其他请求/响应库处理它们

【讨论】:

  • @CodeLover 不确定您的评论是什么意思,但我假设您希望使用库使用代码编辑帖子。