[英]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,按某些东西对查询进行分组,例如查询的目的)对象。 然后你只需要这个文件。
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.
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.