因此,我正在为一个项目制作一个快速应用程序,并且我使用mysql作为数据库,我以前在代码中对sql查询进行了硬编码,但是根据我的老师的说法,这是一种不好的做法,所以我当时寻找一种无需硬编码的方法。
我用猫鼬尝试了诸如find和findAll之类的查询,我正在寻找类似的东西。
app.get("/shops/:id",function(req,res){
var id = req.params.id;
connection.query('SELECT * FROM `menuItems` WHERE shop_id =?',[id],function(error,results,fields) {
console.log(results);
res.json(JSON.stringify(results));
})
});
我不想像上面的代码片段中那样对查询进行硬编码。
请帮助我找到一种在我的应用中不对SQL查询进行硬编码的方法。预先感谢。
答案 0 :(得分:-2)
存储过程。防止出现各种可能的问题 注射,维护。将数据库代码放在数据库代码所属的位置。
ORM工具(例如Hibernate,Subsonic等)意味着您永远不会看到一行 (*)SQL的第一位。更陡峭的学习曲线,但很棒 练习早点开始而不是迟点。
请参阅this答案。
(*)摘录经过修改以匹配OP场景