Node.js는 서버측 JavaScript 실행 환경으로서 매우 인기 있는 기술이 되었습니다. Node.js 개발자의 경우 데이터베이스 저장 프로시저를 호출하는 것은 복잡한 데이터베이스 쿼리를 수행하는 효과적인 방법입니다. 그러나 Node.js는 다른 프로그래밍 언어와 비교하여 어떻게 SQL 저장 프로시저를 올바르게 호출합니까?
이 글에서는 Node.js를 사용하여 SQL 저장 프로시저를 호출하고 결과를 얻는 방법을 소개합니다.
Node.js를 사용하여 데이터베이스에 연결하기 전에 해당 Node.js 데이터베이스 드라이버를 설치해야 합니다. 이 문서에서는 mysqljs
라이브러리를 예로 들어 보겠습니다. 먼저 Node.js 프로젝트에 이 라이브러리를 도입해야 합니다. mysqljs
库为例,首先需要在Node.js项目中引入这个库:
var mysql = require('mysql');
在连接数据库之前,需要先创建一个MySQL连接池。
var pool = mysql.createPool({ connectionLimit : 10, host : 'example.org', user : 'bob', password : 'secret', database : 'my_db' });
请确保将host
、user
、password
和database
替换为正确的数据库连接信息。在连接池成功创建后,即可使用以下代码连接数据库。
pool.getConnection(function(err, connection) { // 在此处处理连接错误 connection.query('SELECT * FROM customers', function(err, rows) { // 在此处处理查询结果 connection.release(); // 释放连接 }); });
在释放连接之前,需要注意一件事情:使用MySQL存储过程时,无需释放连接。因为存储过程会自动关闭连接。在下一个示例中,你将了解如何调用存储过程。
假设你有一个名为getCustomers
的存储过程,其参数列表如下:
in_start
:以零为基础的页面编号。in_amount
:要显示的记录数。out_total_rows
:总行数。out_total_pages
:总页数。以下示例演示了如何使用Node.js调用存储过程。
pool.getConnection(function(err, connection) { // 在此处处理连接错误 connection.query('CALL getCustomers(?, ?, @total_rows, @total_pages)', [0, 10], function(err, rows) { if (err) throw err; // 执行第二个查询以获取返回值 connection.query('SELECT @total_rows AS total_rows, @total_pages AS total_pages', function(err, rows) { if (err) throw err; var totalRows = rows[0][0].total_rows; var totalPages = rows[1][0].total_pages; console.log('Total rows: ' + totalRows); console.log('Total pages: ' + totalPages); connection.release(); }) }); });
在第一行中,我们调用了存储过程。请注意,我们使用?
代替存储过程中的每个参数。在例子中,我们为存储过程传递了两个参数:0
和10
。@total_rows
和@total_pages
rrreee
host
, user
, password
및 database
를 올바른 데이터베이스 연결 정보로 바꿔주세요. 연결 풀이 성공적으로 생성되면 다음 코드를 사용하여 데이터베이스에 연결할 수 있습니다. rrreee
연결을 해제하기 전에 한 가지 주의할 점이 있습니다. MySQL 저장 프로시저를 사용할 때는 연결을 해제할 필요가 없다는 것입니다. 저장 프로시저가 자동으로 연결을 종료하기 때문입니다. 다음 예제에서는 저장 프로시저를 호출하는 방법을 알아봅니다. 🎜🎜저장 프로시저 호출🎜🎜다음 매개변수 목록이 있는getCustomers
라는 저장 프로시저가 있다고 가정해 보세요. 🎜in_start
: 0부터 시작하는 페이지 번호 . in_amount
: 표시할 레코드 수입니다. out_total_rows
: 총 행 수. out_total_pages
: 총 페이지 수입니다. ?
를 사용합니다. 이 예에서는 0
및 10
이라는 두 개의 매개변수를 저장 프로시저에 전달했습니다. @total_rows
및 @total_pages
는 저장 프로시저의 두 가지 출력 매개변수입니다. 첫 번째 쿼리가 실행된 후 출력 매개변수가 포함된 값을 가져오려면 또 다른 SQL 쿼리를 실행해야 합니다. 출력 매개변수를 얻은 후 해당 값에 대해 작업을 수행할 수 있습니다. 🎜🎜결론🎜🎜Node.js를 사용하여 데이터베이스에 연결하고 저장 프로시저를 호출하려면 연결 풀링 및 연결 해제를 신중하게 처리해야 합니다. 저장 프로시저를 실행하는 동안 수동으로 연결을 닫거나 해제할 필요가 없습니다. 위의 예를 사용하면 SQL 저장 프로시저가 올바르게 실행되고 결과를 얻을 수 있습니다. 🎜위 내용은 Node.js를 사용하여 SQL 저장 프로시저를 호출하고 결과를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!