Tôi đang cố gắng tìm ra cách cấu trúc ứng dụng của mình để sử dụng MySQL một cách hiệu quả nhất. Tôi đang sử dụng mô-đun node-mysql. Các chủ đề khác ở đây được đề xuất sử dụng gộp kết nối vì vậy tôi thiết lập một mô-đun nhỏ mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
Bây giờ bất cứ khi nào tôi muốn truy vấn mysql, tôi yêu cầu mô-đun này và sau đó truy vấn databse
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
Cách tiếp cận này có tốt không? Tôi thực sự không thể tìm thấy quá nhiều ví dụ về việc sử dụng kết nối mysql ngoài một ví dụ rất đơn giản nơi mọi thứ được thực hiện trong tập lệnh app.js chính vì vậy tôi không thực sự biết quy ước / phương pháp hay nhất là gì.
Tôi có nên luôn sử dụng connect.end () sau mỗi truy vấn không? Nếu tôi quên nó ở đâu đó thì sao?
Làm cách nào để viết lại phần xuất của mô-đun mysql của tôi để trả về chỉ một kết nối để tôi không phải viết getConnection () mỗi lần?
connection.query
tất cả mọi nơi trong mã của mình" - có lẽ đã đến lúc cấu trúc lại. Xây dựng một lớp trừu tượng cơ sở dữ liệu cung cấpselect
,insert
,update
, vv - và chỉ sử dụngconnection
(hoặcpool
) trong đó lớp db duy nhất ...