繁体   English   中英

有没有办法在 node.js 中管理 mysql 包字符串

[英]Is there a way manage mysql package string in node.js

const creatUser = "INSERT INTO users(`firstname`,`lastname`,`email`,`password`) VALUES(?)"; 
const checkRegister = " SELECT * FROM users WHERE email = ? ";

所以我有一个大项目,包括很多 mysql 查询。 而mysql包使用字符串存储查询,有没有办法在节点js中处理多个字符串? 就像将它们全部放入一个文件中一样,我尝试导入 fs 包然后读取文件,但它比我预期的做了很多工作?

我认为您仍然可以应用您的想法将所有查询写入一个文件,然后使用fs模块将它们读回。

假设您有一个名为queries.sql的文件,其中有一个分号; 值之间的分隔符:

const fs = require('fs');

const queries = fs.readFileSync('queries.sql', 'utf8')
  .split(';')
  .filter((query) => query.trim().length > 0);

console.log(queries);  // ["SELECT * FROM users WHERE email = 'john@example.com'", "INSERT INTO users(...) VALUES(...)"]

剩下的应该很简单:)

我认为您应该使用查询创建一个 POJO(或多个 POJO,按某些东西对查询进行分组,例如查询的目的)对象。 然后你只需要这个文件。

用户queries.js

module.exports = {
    query1: "select * from users",
    query2: "select * from users where id=?"
    ...
};

然后,每当您需要用户查询时,您只需要上述内容即可。

const userQueries = require('./user-queries.js');

// Now you can do userQueries.query1, for example.

在 ES 模块中

用户queries.js

export default {
    query1: "select * from users",
    query2: "select * from users where id=?"
    ...
};

然后:

import userQueries from './user-queries.js';

// Now you can do userQueries.query1, for example.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM