是否有办法管理mysql包字符串在node.js


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

所以我有一个大项目包括很多mysql查询。和mysql包使用字符串存储查询,有一种方法来处理多个字符串在节点js?比如把它们都放到一个文件中,我尝试import 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,按某些东西分组查询,如查询的目的)对象与查询。然后你只需要文件。

user-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.

On in ES Modules

user-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.

最新更新