我想将所有SQL语句存储在单独的(.txt
可能?)文件中。这将使我的代码看起来干净,更具可读性。
示例:
router.get('/', function (req, res, next) {
var sql = // get SQL from a file
connection.query(sql, function (err, rows, fields) {
var row;
if (!err) {
row = rows[0];
}
res.render('index', { ... });
})
});
P.S。我不想将SQL语句存储在.js
文件中。
提前谢谢
答案 0 :(得分:1)
你肯定可以做到这一点,但要记住,使用文件需要花费太多时间"。您可能需要的是执行该查询的图层。
例如,您可以执行以下操作:
myDBLayer.getNumber(function(id, country, name){
//Do stuff
});
但是你必须定义getNumber
函数并为你想要的每个查询执行一个函数。当然,您可以接收参数并使用它作为一种抽象,但我认为只需阅读一些带有所有查询的文件就更有效。
答案 1 :(得分:0)
你肯定可以做到这一点,但要记住,使用文件的成本“也是如此” 很多时间“
我不同意Gepser。文件内容应该在服务器启动时加载一次,并在运行时存储在ram(对象我的意思)中。
我会将查询分成几个逻辑模块,然后分成表或至少只是表:
json文件:
{
"usersTable": {
"selectAll": "select * from user",
"selectSome": "select * from users where id > :id",
"insert": "insert into users values (:name, :second_name, )"
},
"messagesTable": {
"selectAll": ""
}
}
键值文件:
usersTable.selectAll=select * from user
userTable.selectSome=select * from users where id > :id
userTable.insert=insert into users values (:name, :second_name, )
messagesTable.selectAll=