我想知道您对以下任务有何看法?我想从数据库中的JSON对象写入数据。我想将SQL逻辑与业务逻辑分开。
我读过t'当文件js包含很多查询时,策略没有良好的性能。
您认为哪种方法是最佳做法?你能提供一个小例子吗?
答案 0 :(得分:2)
我认为将数据库代码与业务代码以及API代码(如果存在)分开始终是一种很好的做法。
创建这些不同的图层,您将获得不同的优势:
如果您想查看具有此图层的项目,我们最近发布了一个简单的项目,允许您创建协作时事通讯。您可以检查后端部分,它具有db文件夹,域文件夹和api文件夹。这些是我正在谈论的3个层次:
希望它可以帮到你
答案 1 :(得分:1)
你的表演问题绝对是'赛马你'的场景(即测试和看到)。但总的来说,如果您要这样做,我只需要导出一个包含所有命名查询的对象,如下所示:
module.exports = {
getAllUsers: "SELECT username, email, displayName FROM users;",
/* other queries */
}
您的调用代码可以只需要该文件并获得所需内容:
const queries = require('./db/queries');
queries.getAllUsers // <-- this is now that string
性能应该和它一样好,因为你的需要缓存将确保文件只被读取一次,并且JS中的基于键的查找非常快,即使有一千或两个条目。