Nodejs 有没有包装了 mysql 和 mssql 等常见数据库操作的统一的三方库?
Nodejs 有没有包装了 mysql 和 mssql 等常见数据库操作的统一的三方库?
RT 。
- 起码包括了 mysql 和 mssql 这两种数据库的 curd ,针对表和库的操作,视图,存储过程;
- 包装过后,无论哪个数据库,通过这个三方库的 API 来操作的时候,我是感受不到数据库差异带来的不同的。换言之,一个 API ,除了 dbType 参数可能不同,其他都一样;
- 因为数据来源不确定,所以不需要 orm ,如sequelize,只需要可以执行 sql 语句并返回结果即可。
反复查找思考了一天,虽然有squel这种感觉能抹掉查询语句差异的三方库,然而它提供的操作手段还是太少。
目前的想法是大部分的 curd 语句应该是相同的,少部分的语句可能会有语法或者结果上的差异。这部分手动处理,其他则手动包装一下。
伟大的 V 友们,你们有什么推荐或者好的想法没?求教之~
你要的是不是这个? sequelizejs
我还是建议回答前阅读完原文
数据结构和来源不固定, orm 无力。。。
没明白, sequelize.query 这种 raw query 也不行吗?需求到底是啥样子的?
https://github.com/tgriesser/knex 支持好几个数据库,但好像并没有 mssql 。
这不就是相当于内部的 restful api …
自己写咯~ 根据 dbType 判断呗。
之前看文档看漏了……只看了一个 guide ……我仔细看看!
是的……微软大法好……
对于关系型数据库,用 Sequelize ,嗯 (⊙v⊙)
针对Node.js是否拥有包装了MySQL和MSSQL等常见数据库操作的统一的三方库这一问题,目前并没有一个广泛认可的统一库能够同时完美支持MySQL和MSSQL的所有操作。不过,可以分别使用针对这两种数据库的第三方库。
对于MySQL,常用的Node.js第三方库是mysql
和mysql2
。其中,mysql2
是mysql
的一个改进版,提供了更好的性能和连接池管理。以下是一个使用mysql2
连接MySQL数据库并执行查询的示例代码:
const mysql = require('mysql2');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test'
});
pool.query('SELECT 1', (err, results) => {
if (err) throw err;
console.log(results);
});
对于MSSQL,Node.js的常用第三方库是mssql
。它提供了对Microsoft SQL Server的完整支持,包括连接池、查询执行等。
虽然目前没有统一的库能够同时支持MySQL和MSSQL,但通过使用不同的库并根据项目需求进行配置,开发者仍然可以在Node.js项目中实现对这两种数据库的操作。同时,连接池等技术的应用也有助于提高数据库操作的性能和效率。